home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Environments / Oberon⁄F™ 1.2 / Preinstalled version / Obx / Mod / Cubes < prev    next >
MacBinary  |  1996-04-11  |  12.6 KB  |  [oODC/obnF]

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: MacBinary (archive/macBinary).

ConfidenceProgramDetectionMatch TypeSupport
10% dexvert MacBinary (archive/macBinary) fallback Supported
10% dexvert Jesper Olsen Module (music/jesperOlsen) magic Supported
100% file MacBinary II, inited, Wed Jul 5 21:02:42 1995, modified Thu Apr 11 10:39:20 1996, creator 'obnF', type 'oODC', 12372 bytes "Cubes" , at 0x30d4 318 bytes resource default (weak)
99% file data default
65% TrID TTComp archive compressed (bin-2K) default (weak)
33% TrID MacBinary 2 default (weak)
0% TrID Sybase iAnywhere database files default (weak)
100% lsar MacBinary default


id metadata
keyvalue
macFileType[oODC]
macFileCreator[obnF]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 05 43 75 62 65 73 00 | 00 00 00 00 00 00 00 00 |..Cubes.|........|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 6f 4f 44 43 6f 62 6e | 46 01 00 00 00 00 00 00 |.oODCobn|F.......|
|00000050| 00 00 00 00 00 30 54 00 | 00 01 3e ac 20 e6 b2 ad |.....0T.|..>. ...|
|00000060| 92 ca 18 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 e9 d2 00 00 |........|........|
|00000080| 43 44 4f 6f 00 00 00 00 | 82 f1 44 6f 63 75 6d 65 |CDOo....|..Docume|
|00000090| 6e 74 73 2e 53 74 64 44 | 6f 63 75 6d 65 6e 74 44 |nts.StdD|ocumentD|
|000000a0| 65 73 63 00 f1 44 6f 63 | 75 6d 65 6e 74 73 2e 44 |esc..Doc|uments.D|
|000000b0| 6f 63 75 6d 65 6e 74 44 | 65 73 63 00 f1 43 6f 6e |ocumentD|esc..Con|
|000000c0| 74 61 69 6e 65 72 73 2e | 56 69 65 77 44 65 73 63 |tainers.|ViewDesc|
|000000d0| 00 f1 56 69 65 77 73 2e | 56 69 65 77 44 65 73 63 |..Views.|ViewDesc|
|000000e0| 00 f0 53 74 6f 72 65 73 | 2e 53 74 6f 72 65 44 65 |..Stores|.StoreDe|
|000000f0| 73 63 00 00 00 00 00 00 | 00 00 00 07 00 00 00 d1 |sc......|........|
|00000100| 2f 00 00 00 00 00 83 f1 | 44 6f 63 75 6d 65 6e 74 |/.......|Document|
|00000110| 73 2e 4d 6f 64 65 6c 44 | 65 73 63 00 f1 43 6f 6e |s.ModelD|esc..Con|
|00000120| 74 61 69 6e 65 72 73 2e | 4d 6f 64 65 6c 44 65 73 |tainers.|ModelDes|
|00000130| 63 00 f1 4d 6f 64 65 6c | 73 2e 4d 6f 64 65 6c 44 |c..Model|s.ModelD|
|00000140| 65 73 63 00 f1 53 74 6f | 72 65 73 2e 45 6c 65 6d |esc..Sto|res.Elem|
|00000150| 44 65 73 63 00 f2 04 00 | 00 00 00 00 00 00 1f 2f |Desc....|......./|
|00000160| 00 00 09 00 00 00 17 2f | 00 00 00 00 00 00 00 82 |......./|........|
|00000170| f1 54 65 78 74 56 69 65 | 77 73 2e 53 74 64 56 69 |.TextVie|ws.StdVi|
|00000180| 65 77 44 65 73 63 00 f1 | 54 65 78 74 56 69 65 77 |ewDesc..|TextView|
|00000190| 73 2e 56 69 65 77 44 65 | 73 63 00 f2 02 00 00 00 |s.ViewDe|sc......|
|000001a0| 00 00 00 00 00 00 00 00 | 07 00 00 00 c1 2e 00 00 |........|........|
|000001b0| 00 00 00 83 f1 54 65 78 | 74 4d 6f 64 65 6c 73 2e |.....Tex|tModels.|
|000001c0| 53 74 64 4d 6f 64 65 6c | 44 65 73 63 00 f1 54 65 |StdModel|Desc..Te|
|000001d0| 78 74 4d 6f 64 65 6c 73 | 2e 4d 6f 64 65 6c 44 65 |xtModels|.ModelDe|
|000001e0| 73 63 00 f2 06 00 00 00 | 00 00 00 00 c3 2c 00 00 |sc......|.....,..|
|000001f0| 0f 00 00 00 bb 2c 00 00 | 00 00 00 00 00 00 63 02 |.....,..|......c.|
|00000200| 00 00 00 82 f1 54 65 78 | 74 4d 6f 64 65 6c 73 2e |.....Tex|tModels.|
|00000210| 41 74 74 72 69 62 75 74 | 65 73 44 65 73 63 00 f2 |Attribut|esDesc..|
|00000220| 04 00 00 00 00 00 00 00 | 2c 00 00 00 00 00 00 00 |........|,.......|
|00000230| 1f 00 00 00 00 00 00 00 | 00 01 00 00 00 00 47 65 |........|......Ge|
|00000240| 6e 65 76 61 00 7c be 01 | 00 00 00 00 00 90 01 00 |neva.|..|........|
|00000250| 00 00 00 12 00 00 00 01 | 82 f2 0d 00 00 00 00 00 |........|........|
|00000260| 00 00 4f 00 00 00 00 00 | 00 00 1f 00 00 00 00 00 |..O.....|........|
|00000270| 00 00 00 01 00 00 00 00 | 47 65 6e 65 76 61 00 7c |........|Geneva.||
|00000280| be 01 00 01 00 00 00 90 | 01 00 00 00 00 85 00 00 |........|........|
|00000290| 00 00 2e 01 00 00 01 15 | 00 00 00 00 14 00 00 00 |........|........|
|000002a0| 01 29 00 00 00 00 27 01 | 00 00 01 17 00 00 00 00 |.)....'.|........|
|000002b0| 46 01 00 00 02 82 f2 0d | 00 00 00 00 00 00 00 9f |F.......|........|
|000002c0| 00 00 00 00 00 00 00 1f | 00 00 00 00 00 00 00 00 |........|........|
|000002d0| 01 00 00 00 00 47 65 6e | 65 76 61 00 7c be 01 00 |.....Gen|eva.|...|
|000002e0| 00 00 00 00 bc 02 00 00 | 00 00 06 00 00 00 00 83 |........|........|
|000002f0| 00 00 00 01 0c 00 00 00 | 00 85 00 00 00 01 22 00 |........|......".|
|00000300| 00 00 00 d2 00 00 00 01 | 4c 00 00 00 00 32 00 00 |........|L....2..|
|00000310| 00 01 0c 00 00 00 00 b6 | 17 00 00 01 19 00 00 00 |........|........|
|00000320| 00 74 01 00 00 01 33 00 | 00 00 00 63 06 00 00 01 |.t....3.|...c....|
|00000330| 21 00 00 00 00 14 00 00 | 00 01 22 00 00 00 00 16 |!.......|..".....|
|00000340| 00 00 00 01 0f 00 00 00 | 00 0c 00 00 00 02 07 00 |........|........|
|00000350| 00 00 00 a8 00 00 00 01 | 0e 00 00 00 00 81 00 00 |........|........|
|00000360| 00 03 82 f2 0d 00 00 00 | 00 00 00 00 72 00 00 00 |........|....r...|
|00000370| 00 00 00 00 22 00 00 00 | 00 00 00 00 00 01 00 00 |...."...|........|
|00000380| 00 00 48 65 6c 76 65 74 | 69 63 61 00 7c be 01 00 |..Helvet|ica.|...|
|00000390| 00 00 00 00 90 01 00 00 | 00 00 0b 00 00 00 00 16 |........|........|
|000003a0| 00 00 00 03 0a 00 00 00 | 00 16 00 00 00 03 09 00 |........|........|
|000003b0| 00 00 00 16 00 00 00 03 | 09 00 00 00 00 16 00 00 |........|........|
|000003c0| 00 03 09 00 00 00 00 2e | 00 00 00 01 0c 00 00 00 |........|........|
|000003d0| 00 56 00 00 00 00 00 00 | 00 00 88 b6 02 00 50 53 |.V......|......PS|
|000003e0| 02 00 82 f1 44 65 76 43 | 6f 6d 6d 61 6e 64 65 72 |....DevC|ommander|
|000003f0| 73 2e 53 74 64 56 69 65 | 77 44 65 73 63 00 f1 44 |s.StdVie|wDesc..D|
|00000400| 65 76 43 6f 6d 6d 61 6e | 64 65 72 73 2e 56 69 65 |evComman|ders.Vie|
|00000410| 77 44 65 73 63 00 f2 03 | 00 00 00 00 00 00 00 20 |wDesc...|....... |
|00000420| 00 00 00 00 00 00 00 06 | 00 00 00 00 00 00 15 00 |........|........|
|00000430| 00 00 27 00 00 00 00 00 | 00 00 00 88 b6 02 00 50 |..'.....|.......P|
|00000440| 53 02 00 82 f2 0e 00 00 | 00 00 00 00 00 00 00 00 |S.......|........|
|00000450| 00 00 00 00 00 06 00 00 | 00 00 00 00 15 00 00 00 |........|........|
|00000460| 3b 00 00 00 ff 4d 4f 44 | 55 4c 45 20 20 4f 62 78 |;....MOD|ULE Obx|
|00000470| 43 75 62 65 73 3b 0d 28 | 2a 20 41 64 6f 70 74 65 |Cubes;.(|* Adopte|
|00000480| 64 20 66 72 6f 6d 20 61 | 20 70 72 6f 67 72 61 6d |d from a| program|
|00000490| 20 77 72 69 74 74 65 6e | 20 69 6e 20 43 20 69 6e | written| in C in|
|000004a0| 20 31 39 38 36 20 62 79 | 0d 09 52 6f 6c 61 6e 64 | 1986 by|..Roland|
|000004b0| 20 4b 61 72 6c 73 73 6f | 6e 2c 20 53 77 65 64 69 | Karlsso|n, Swedi|
|000004c0| 73 68 20 49 6e 73 74 69 | 74 75 74 65 20 66 6f 72 |sh Insti|tute for|
|000004d0| 20 43 6f 6d 70 75 74 65 | 72 20 53 63 69 65 6e 63 | Compute|r Scienc|
|000004e0| 65 20 28 53 49 43 53 29 | 2c 20 72 6f 6c 61 6e 64 |e (SICS)|, roland|
|000004f0| 40 73 69 63 73 2e 73 65 | 20 2a 29 0d 0d 09 49 4d |@sics.se| *)...IM|
|00000500| 50 4f 52 54 20 56 69 65 | 77 73 2c 20 50 6f 72 74 |PORT Vie|ws, Port|
|00000510| 73 2c 20 50 72 6f 70 65 | 72 74 69 65 73 2c 20 53 |s, Prope|rties, S|
|00000520| 65 72 76 69 63 65 73 2c | 20 53 74 6f 72 65 73 2c |ervices,| Stores,|
|00000530| 20 4d 6f 64 65 6c 73 2c | 20 4d 61 74 68 2c 20 43 | Models,| Math, C|
|00000540| 6f 6e 74 72 6f 6c 6c 65 | 72 73 2c 20 53 74 64 43 |ontrolle|rs, StdC|
|00000550| 6d 64 73 2c 20 43 6f 6e | 74 61 69 6e 65 72 73 2c |mds, Con|tainers,|
|00000560| 20 44 69 61 6c 6f 67 3b | 0d 0d 09 43 4f 4e 53 54 | Dialog;|...CONST|
|00000570| 0d 09 09 70 69 32 20 3d | 20 32 35 35 3b 0d 09 09 |...pi2 =| 255;...|
|00000580| 6d 69 6e 56 65 72 73 69 | 6f 6e 20 3d 20 30 3b 20 |minVersi|on = 0; |
|00000590| 6d 61 78 56 65 72 73 69 | 6f 6e 20 3d 20 31 3b 0d |maxVersi|on = 1;.|
|000005a0| 09 09 69 6e 76 69 73 69 | 62 6c 65 20 3d 20 50 6f |..invisi|ble = Po|
|000005b0| 72 74 73 2e 77 68 69 74 | 65 3b 0d 0d 09 54 59 50 |rts.whit|e;...TYP|
|000005c0| 45 0d 09 09 43 6f 6c 6f | 72 73 20 3d 20 41 52 52 |E...Colo|rs = ARR|
|000005d0| 41 59 20 36 20 4f 46 20 | 50 6f 72 74 73 2e 43 6f |AY 6 OF |Ports.Co|
|000005e0| 6c 6f 72 3b 0d 09 09 0d | 09 09 56 69 65 77 20 3d |lor;....|..View =|
|000005f0| 20 50 4f 49 4e 54 45 52 | 20 54 4f 20 52 45 43 4f | POINTER| TO RECO|
|00000600| 52 44 20 28 56 69 65 77 | 73 2e 56 69 65 77 44 65 |RD (View|s.ViewDe|
|00000610| 73 63 29 0d 09 09 09 66 | 69 31 2c 20 66 69 32 3a |sc)....f|i1, fi2:|
|00000620| 20 49 4e 54 45 47 45 52 | 3b 09 28 2a 20 72 6f 74 | INTEGER|;.(* rot|
|00000630| 61 74 69 6f 6e 20 61 6e | 67 6c 65 73 20 2a 29 0d |ation an|gles *).|
|00000640| 09 09 09 63 6f 6c 6f 72 | 73 3a 20 43 6f 6c 6f 72 |...color|s: Color|
|00000650| 73 3b 09 28 2a 20 63 6f | 6c 6f 72 73 20 6f 66 20 |s;.(* co|lors of |
|00000660| 74 68 65 20 73 69 78 20 | 73 69 64 65 73 20 6f 66 |the six |sides of|
|00000670| 20 74 68 65 20 63 75 62 | 65 20 2a 29 0d 09 09 45 | the cub|e *)...E|
|00000680| 4e 44 3b 0d 0d 09 09 41 | 63 74 69 6f 6e 20 3d 20 |ND;....A|ction = |
|00000690| 50 4f 49 4e 54 45 52 20 | 54 4f 20 52 45 43 4f 52 |POINTER |TO RECOR|
|000006a0| 44 20 28 53 65 72 76 69 | 63 65 73 2e 41 63 74 69 |D (Servi|ces.Acti|
|000006b0| 6f 6e 44 65 73 63 29 20 | 45 4e 44 3b 0d 0d 09 09 |onDesc) |END;....|
|000006c0| 4d 73 67 20 3d 20 52 45 | 43 4f 52 44 20 28 4d 6f |Msg = RE|CORD (Mo|
|000006d0| 64 65 6c 73 2e 4d 65 73 | 73 61 67 65 29 20 0d 09 |dels.Mes|sage) ..|
|000006e0| 09 09 63 6f 6e 73 75 6d | 65 64 3a 20 42 4f 4f 4c |..consum|ed: BOOL|
|000006f0| 45 41 4e 0d 09 09 45 4e | 44 3b 0d 09 09 0d 09 56 |EAN...EN|D;.....V|
|00000700| 41 52 0d 09 09 61 63 74 | 69 6f 6e 3a 20 41 63 74 |AR...act|ion: Act|
|00000710| 69 6f 6e 3b 0d 09 09 61 | 63 74 69 6f 6e 49 73 41 |ion;...a|ctionIsA|
|00000720| 63 74 69 76 65 3a 20 42 | 4f 4f 4c 45 41 4e 3b 0d |ctive: B|OOLEAN;.|
|00000730| 09 09 61 63 74 75 61 6c | 3a 20 56 69 65 77 3b 0d |..actual|: View;.|
|00000740| 09 09 73 69 6e 75 73 3a | 20 41 52 52 41 59 20 32 |..sinus:| ARRAY 2|
|00000750| 35 36 20 4f 46 20 49 4e | 54 45 47 45 52 3b 0d 09 |56 OF IN|TEGER;..|
|00000760| 09 0d 09 09 70 61 72 61 | 2a 3a 20 52 45 43 4f 52 |....para|*: RECOR|
|00000770| 44 20 28 44 69 61 6c 6f | 67 2e 49 6e 74 65 72 61 |D (Dialo|g.Intera|
|00000780| 63 74 6f 72 29 0d 09 09 | 09 63 6f 6c 6f 72 73 2a |ctor)...|.colors*|
|00000790| 3a 20 43 6f 6c 6f 72 73 | 3b 0d 09 09 45 4e 44 3b |: Colors|;...END;|
|000007a0| 0d 0d 0d 09 28 2a 20 70 | 72 6f 70 65 72 74 79 20 |....(* p|roperty |
|000007b0| 64 69 61 6c 6f 67 20 2a | 29 0d 0d 09 50 52 4f 43 |dialog *|)...PROC|
|000007c0| 45 44 55 52 45 20 53 69 | 6e 67 6c 65 74 6f 6e 20 |EDURE Si|ngleton |
|000007d0| 28 29 3a 20 56 69 65 77 | 3b 0d 09 09 56 41 52 20 |(): View|;...VAR |
|000007e0| 76 3a 20 56 69 65 77 73 | 2e 56 69 65 77 3b 20 6f |v: Views|.View; o|
|000007f0| 6c 64 70 3a 20 42 4f 4f | 4c 45 41 4e 3b 0d 09 42 |ldp: BOO|LEAN;..B|
|00000800| 45 47 49 4e 0d 09 09 6f | 6c 64 70 20 3a 3d 20 43 |EGIN...o|ldp := C|
|00000810| 6f 6e 74 72 6f 6c 6c 65 | 72 73 2e 70 61 74 68 3b |ontrolle|rs.path;|
|00000820| 0d 09 09 43 6f 6e 74 72 | 6f 6c 6c 65 72 73 2e 53 |...Contr|ollers.S|
|00000830| 65 74 43 75 72 72 65 6e | 74 50 61 74 68 28 43 6f |etCurren|tPath(Co|
|00000840| 6e 74 72 6f 6c 6c 65 72 | 73 2e 74 61 72 67 65 74 |ntroller|s.target|
|00000850| 50 61 74 68 29 3b 0d 09 | 09 76 20 3a 3d 20 43 6f |Path);..|.v := Co|
|00000860| 6e 74 61 69 6e 65 72 73 | 2e 46 6f 63 75 73 53 69 |ntainers|.FocusSi|
|00000870| 6e 67 6c 65 74 6f 6e 28 | 29 3b 0d 09 09 43 6f 6e |ngleton(|);...Con|
|00000880| 74 72 6f 6c 6c 65 72 73 | 2e 53 65 74 43 75 72 72 |trollers|.SetCurr|
|00000890| 65 6e 74 50 61 74 68 28 | 6f 6c 64 70 29 3b 0d 09 |entPath(|oldp);..|
|000008a0| 09 49 46 20 28 76 20 23 | 20 4e 49 4c 29 20 26 20 |.IF (v #| NIL) & |
|000008b0| 28 76 20 49 53 20 56 69 | 65 77 29 20 54 48 45 4e |(v IS Vi|ew) THEN|
|000008c0| 20 52 45 54 55 52 4e 20 | 76 28 56 69 65 77 29 20 | RETURN |v(View) |
|000008d0| 45 4c 53 45 20 52 45 54 | 55 52 4e 20 4e 49 4c 20 |ELSE RET|URN NIL |
|000008e0| 45 4e 44 0d 09 45 4e 44 | 20 53 69 6e 67 6c 65 74 |END..END| Singlet|
|000008f0| 6f 6e 3b 0d 0d 09 50 52 | 4f 43 45 44 55 52 45 20 |on;...PR|OCEDURE |
|00000900| 4e 6f 74 69 66 79 2a 20 | 28 6f 70 2c 20 66 72 6f |Notify* |(op, fro|
|00000910| 6d 2c 20 74 6f 3a 20 4c | 4f 4e 47 49 4e 54 29 3b |m, to: L|ONGINT);|
|00000920| 0d 09 09 56 41 52 20 76 | 3a 20 56 69 65 77 3b 0d |...VAR v|: View;.|
|00000930| 09 42 45 47 49 4e 0d 09 | 09 76 20 3a 3d 20 53 69 |.BEGIN..|.v := Si|
|00000940| 6e 67 6c 65 74 6f 6e 28 | 29 3b 0d 09 09 49 46 20 |ngleton(|);...IF |
|00000950| 76 20 23 20 4e 49 4c 20 | 54 48 45 4e 20 76 2e 63 |v # NIL |THEN v.c|
|00000960| 6f 6c 6f 72 73 20 3a 3d | 20 70 61 72 61 2e 63 6f |olors :=| para.co|
|00000970| 6c 6f 72 73 20 45 4e 44 | 0d 09 45 4e 44 20 4e 6f |lors END|..END No|
|00000980| 74 69 66 79 3b 0d 09 0d | 09 28 2a 20 41 63 74 69 |tify;...|.(* Acti|
|00000990| 6f 6e 20 2a 29 0d 09 0d | 09 50 52 4f 43 45 44 55 |on *)...|.PROCEDU|
|000009a0| 52 45 20 28 61 3a 20 41 | 63 74 69 6f 6e 29 20 44 |RE (a: A|ction) D|
|000009b0| 6f 3b 0d 09 09 56 41 52 | 20 6d 73 67 3a 20 4d 73 |o;...VAR| msg: Ms|
|000009c0| 67 3b 20 76 3a 20 56 69 | 65 77 3b 0d 09 42 45 47 |g; v: Vi|ew;..BEG|
|000009d0| 49 4e 0d 09 09 6d 73 67 | 2e 63 6f 6e 73 75 6d 65 |IN...msg|.consume|
|000009e0| 64 20 3a 3d 20 46 41 4c | 53 45 3b 0d 09 09 56 69 |d := FAL|SE;...Vi|
|000009f0| 65 77 73 2e 4f 6d 6e 69 | 63 61 73 74 28 6d 73 67 |ews.Omni|cast(msg|
|00000a00| 29 3b 0d 09 09 49 46 20 | 6d 73 67 2e 63 6f 6e 73 |);...IF |msg.cons|
|00000a10| 75 6d 65 64 20 54 48 45 | 4e 20 28 2a 20 75 70 64 |umed THE|N (* upd|
|00000a20| 61 74 65 20 43 6f 6c 6f | 72 20 50 72 6f 70 65 72 |ate Colo|r Proper|
|00000a30| 74 79 20 45 64 69 74 6f | 72 20 2a 29 0d 09 09 09 |ty Edito|r *)....|
|00000a40| 76 20 3a 3d 20 53 69 6e | 67 6c 65 74 6f 6e 28 29 |v := Sin|gleton()|
|00000a50| 3b 0d 09 09 09 49 46 20 | 28 76 20 23 20 4e 49 4c |;....IF |(v # NIL|
|00000a60| 29 20 26 20 28 61 63 74 | 75 61 6c 20 23 20 76 29 |) & (act|ual # v)|
|00000a70| 20 54 48 45 4e 0d 09 09 | 09 09 70 61 72 61 2e 63 | THEN...|..para.c|
|00000a80| 6f 6c 6f 72 73 20 3a 3d | 20 76 2e 63 6f 6c 6f 72 |olors :=| v.color|
|00000a90| 73 3b 0d 09 09 09 09 44 | 69 61 6c 6f 67 2e 55 70 |s;.....D|ialog.Up|
|00000aa0| 64 61 74 65 28 70 61 72 | 61 29 3b 0d 09 09 09 09 |date(par|a);.....|
|00000ab0| 61 63 74 75 61 6c 20 3a | 3d 20 76 0d 09 09 09 45 |actual :|= v....E|
|00000ac0| 4e 44 3b 0d 09 09 09 53 | 65 72 76 69 63 65 73 2e |ND;....S|ervices.|
|00000ad0| 44 6f 4c 61 74 65 72 28 | 61 2c 20 53 65 72 76 69 |DoLater(|a, Servi|
|00000ae0| 63 65 73 2e 54 69 63 6b | 73 28 29 20 2b 20 53 65 |ces.Tick|s() + Se|
|00000af0| 72 76 69 63 65 73 2e 72 | 65 73 6f 6c 75 74 69 6f |rvices.r|esolutio|
|00000b00| 6e 20 44 49 56 20 31 30 | 29 0d 09 09 09 09 28 2a |n DIV 10|).....(*|
|00000b10| 20 69 2e 65 2e 20 70 65 | 72 66 6f 72 6d 20 61 20 | i.e. pe|rform a |
|00000b20| 66 75 6c 6c 20 72 6f 74 | 61 74 69 6f 6e 20 74 68 |full rot|ation th|
|00000b30| 72 6f 75 67 68 20 61 6c | 6c 20 32 35 36 20 73 74 |rough al|l 256 st|
|00000b40| 61 74 65 73 20 69 6e 20 | 32 35 2e 36 20 73 65 63 |ates in |25.6 sec|
|00000b50| 6f 6e 64 73 20 2a 29 0d | 09 09 45 4c 53 45 0d 09 |onds *).|..ELSE..|
|00000b60| 09 09 61 63 74 69 6f 6e | 49 73 41 63 74 69 76 65 |..action|IsActive|
|00000b70| 20 3a 3d 20 46 41 4c 53 | 45 0d 09 09 45 4e 44 0d | := FALS|E...END.|
|00000b80| 09 45 4e 44 20 44 6f 3b | 0d 09 0d 09 28 2a 20 56 |.END Do;|....(* V|
|00000b90| 69 65 77 20 2a 29 0d 09 | 0d 09 50 52 4f 43 45 44 |iew *)..|..PROCED|
|00000ba0| 55 52 45 20 28 76 3a 20 | 56 69 65 77 29 20 45 78 |URE (v: |View) Ex|
|00000bb0| 74 65 72 6e 61 6c 69 7a | 65 20 28 56 41 52 20 77 |ternaliz|e (VAR w|
|00000bc0| 72 3a 20 53 74 6f 72 65 | 73 2e 57 72 69 74 65 72 |r: Store|s.Writer|
|00000bd0| 29 3b 0d 09 09 56 41 52 | 20 69 3a 20 49 4e 54 45 |);...VAR| i: INTE|
|00000be0| 47 45 52 3b 0d 09 42 45 | 47 49 4e 0d 09 09 76 2e |GER;..BE|GIN...v.|
|00000bf0| 45 78 74 65 72 6e 61 6c | 69 7a 65 5e 28 77 72 29 |External|ize^(wr)|
|00000c00| 3b 0d 09 09 77 72 2e 57 | 72 69 74 65 56 65 72 73 |;...wr.W|riteVers|
|00000c10| 69 6f 6e 28 6d 61 78 56 | 65 72 73 69 6f 6e 29 3b |ion(maxV|ersion);|
|00000c20| 0d 09 09 77 72 2e 57 72 | 69 74 65 49 6e 74 28 76 |...wr.Wr|iteInt(v|
|00000c30| 2e 66 69 31 29 3b 20 77 | 72 2e 57 72 69 74 65 49 |.fi1); w|r.WriteI|
|00000c40| 6e 74 28 76 2e 66 69 32 | 29 3b 0d 09 09 46 4f 52 |nt(v.fi2|);...FOR|
|00000c50| 20 69 20 3a 3d 20 30 20 | 54 4f 20 35 20 44 4f 20 | i := 0 |TO 5 DO |
|00000c60| 77 72 2e 57 72 69 74 65 | 4c 49 6e 74 28 76 2e 63 |wr.Write|LInt(v.c|
|00000c70| 6f 6c 6f 72 73 5b 69 5d | 29 20 45 4e 44 3b 0d 09 |olors[i]|) END;..|
|00000c80| 45 4e 44 20 45 78 74 65 | 72 6e 61 6c 69 7a 65 3b |END Exte|rnalize;|
|00000c90| 0d 0d 09 50 52 4f 43 45 | 44 55 52 45 20 28 76 3a |...PROCE|DURE (v:|
|00000ca0| 20 56 69 65 77 29 20 49 | 6e 74 65 72 6e 61 6c 69 | View) I|nternali|
|00000cb0| 7a 65 20 28 56 41 52 20 | 72 64 3a 20 53 74 6f 72 |ze (VAR |rd: Stor|
|00000cc0| 65 73 2e 52 65 61 64 65 | 72 29 3b 0d 09 09 56 41 |es.Reade|r);...VA|
|00000cd0| 52 20 76 65 72 73 69 6f | 6e 3a 20 53 48 4f 52 54 |R versio|n: SHORT|
|00000ce0| 49 4e 54 3b 20 69 3a 20 | 49 4e 54 45 47 45 52 3b |INT; i: |INTEGER;|
|00000cf0| 0d 09 42 45 47 49 4e 0d | 09 09 76 2e 49 6e 74 65 |..BEGIN.|..v.Inte|
|00000d00| 72 6e 61 6c 69 7a 65 5e | 28 72 64 29 3b 0d 09 09 |rnalize^|(rd);...|
|00000d10| 49 46 20 7e 72 64 2e 63 | 61 6e 63 65 6c 6c 65 64 |IF ~rd.c|ancelled|
|00000d20| 20 54 48 45 4e 0d 09 09 | 09 72 64 2e 52 65 61 64 | THEN...|.rd.Read|
|00000d30| 56 65 72 73 69 6f 6e 28 | 6d 69 6e 56 65 72 73 69 |Version(|minVersi|
|00000d40| 6f 6e 2c 20 6d 61 78 56 | 65 72 73 69 6f 6e 2c 20 |on, maxV|ersion, |
|00000d50| 76 65 72 73 69 6f 6e 29 | 3b 0d 09 09 09 49 46 20 |version)|;....IF |
|00000d60| 7e 72 64 2e 63 61 6e 63 | 65 6c 6c 65 64 20 54 48 |~rd.canc|elled TH|
|00000d70| 45 4e 0d 09 09 09 09 72 | 64 2e 52 65 61 64 49 6e |EN.....r|d.ReadIn|
|00000d80| 74 28 76 2e 66 69 31 29 | 3b 20 72 64 2e 52 65 61 |t(v.fi1)|; rd.Rea|
|00000d90| 64 49 6e 74 28 76 2e 66 | 69 32 29 3b 0d 09 09 09 |dInt(v.f|i2);....|
|00000da0| 09 49 46 20 76 65 72 73 | 69 6f 6e 20 3d 20 6d 61 |.IF vers|ion = ma|
|00000db0| 78 56 65 72 73 69 6f 6e | 20 54 48 45 4e 0d 09 09 |xVersion| THEN...|
|00000dc0| 09 09 09 46 4f 52 20 69 | 20 3a 3d 20 30 20 54 4f |...FOR i| := 0 TO|
|00000dd0| 20 35 20 44 4f 20 72 64 | 2e 52 65 61 64 4c 49 6e | 5 DO rd|.ReadLIn|
|00000de0| 74 28 76 2e 63 6f 6c 6f | 72 73 5b 69 5d 29 20 45 |t(v.colo|rs[i]) E|
|00000df0| 4e 44 0d 09 09 09 09 45 | 4c 53 45 0d 09 09 09 09 |ND.....E|LSE.....|
|00000e00| 09 46 4f 52 20 69 20 3a | 3d 20 30 20 54 4f 20 35 |.FOR i :|= 0 TO 5|
|00000e10| 20 44 4f 20 76 2e 63 6f | 6c 6f 72 73 5b 69 5d 20 | DO v.co|lors[i] |
|00000e20| 3a 3d 20 69 6e 76 69 73 | 69 62 6c 65 20 45 4e 44 |:= invis|ible END|
|00000e30| 0d 09 09 09 09 45 4e 44 | 0d 09 09 09 45 4e 44 0d |.....END|....END.|
|00000e40| 09 09 45 4e 44 0d 09 45 | 4e 44 20 49 6e 74 65 72 |..END..E|ND Inter|
|00000e50| 6e 61 6c 69 7a 65 3b 0d | 0d 09 50 52 4f 43 45 44 |nalize;.|..PROCED|
|00000e60| 55 52 45 20 28 76 3a 20 | 56 69 65 77 29 20 43 6f |URE (v: |View) Co|
|00000e70| 70 79 46 72 6f 6d 20 28 | 73 6f 75 72 63 65 3a 20 |pyFrom (|source: |
|00000e80| 56 69 65 77 73 2e 56 69 | 65 77 29 3b 0d 09 42 45 |Views.Vi|ew);..BE|
|00000e90| 47 49 4e 0d 09 09 76 2e | 43 6f 70 79 46 72 6f 6d |GIN...v.|CopyFrom|
|00000ea0| 5e 28 73 6f 75 72 63 65 | 29 3b 0d 09 09 57 49 54 |^(source|);...WIT|
|00000eb0| 48 20 73 6f 75 72 63 65 | 3a 20 56 69 65 77 20 44 |H source|: View D|
|00000ec0| 4f 0d 09 09 09 76 2e 66 | 69 31 20 3a 3d 20 73 6f |O....v.f|i1 := so|
|00000ed0| 75 72 63 65 2e 66 69 31 | 3b 20 76 2e 66 69 32 20 |urce.fi1|; v.fi2 |
|00000ee0| 3a 3d 20 73 6f 75 72 63 | 65 2e 66 69 32 3b 20 0d |:= sourc|e.fi2; .|
|00000ef0| 09 09 09 76 2e 63 6f 6c | 6f 72 73 20 3a 3d 20 73 |...v.col|ors := s|
|00000f00| 6f 75 72 63 65 2e 63 6f | 6c 6f 72 73 0d 09 09 45 |ource.co|lors...E|
|00000f10| 4e 44 0d 09 45 4e 44 20 | 43 6f 70 79 46 72 6f 6d |ND..END |CopyFrom|
|00000f20| 3b 0d 0d 09 50 52 4f 43 | 45 44 55 52 45 20 28 76 |;...PROC|EDURE (v|
|00000f30| 3a 20 56 69 65 77 29 20 | 48 61 6e 64 6c 65 50 72 |: View) |HandlePr|
|00000f40| 6f 70 4d 73 67 20 28 56 | 41 52 20 6d 73 67 3a 20 |opMsg (V|AR msg: |
|00000f50| 50 72 6f 70 65 72 74 69 | 65 73 2e 4d 65 73 73 61 |Properti|es.Messa|
|00000f60| 67 65 29 3b 0d 09 42 45 | 47 49 4e 0d 09 09 57 49 |ge);..BE|GIN...WI|
|00000f70| 54 48 20 6d 73 67 3a 20 | 50 72 6f 70 65 72 74 69 |TH msg: |Properti|
|00000f80| 65 73 2e 53 69 7a 65 50 | 72 65 66 20 44 4f 0d 09 |es.SizeP|ref DO..|
|00000f90| 09 09 49 46 20 28 6d 73 | 67 2e 77 20 3e 20 56 69 |..IF (ms|g.w > Vi|
|00000fa0| 65 77 73 2e 75 6e 64 65 | 66 69 6e 65 64 29 20 26 |ews.unde|fined) &|
|00000fb0| 20 28 6d 73 67 2e 68 20 | 3e 20 56 69 65 77 73 2e | (msg.h |> Views.|
|00000fc0| 75 6e 64 65 66 69 6e 65 | 64 29 20 54 48 45 4e 0d |undefine|d) THEN.|
|00000fd0| 09 09 09 09 50 72 6f 70 | 65 72 74 69 65 73 2e 50 |....Prop|erties.P|
|00000fe0| 72 6f 70 6f 72 74 69 6f | 6e 61 6c 43 6f 6e 73 74 |roportio|nalConst|
|00000ff0| 72 61 69 6e 74 28 31 2c | 20 31 2c 20 6d 73 67 2e |raint(1,| 1, msg.|
|00001000| 66 69 78 65 64 57 2c 20 | 6d 73 67 2e 66 69 78 65 |fixedW, |msg.fixe|
|00001010| 64 48 2c 20 6d 73 67 2e | 77 2c 20 6d 73 67 2e 68 |dH, msg.|w, msg.h|
|00001020| 29 3b 0d 09 09 09 09 49 | 46 20 6d 73 67 2e 77 20 |);.....I|F msg.w |
|00001030| 3c 20 31 30 20 2a 20 50 | 6f 72 74 73 2e 6d 6d 20 |< 10 * P|orts.mm |
|00001040| 54 48 45 4e 0d 09 09 09 | 09 09 6d 73 67 2e 77 20 |THEN....|..msg.w |
|00001050| 3a 3d 20 31 30 20 2a 20 | 50 6f 72 74 73 2e 6d 6d |:= 10 * |Ports.mm|
|00001060| 3b 20 6d 73 67 2e 68 20 | 3a 3d 20 6d 73 67 2e 77 |; msg.h |:= msg.w|
|00001070| 0d 09 09 09 09 45 4e 44 | 0d 09 09 09 45 4c 53 45 |.....END|....ELSE|
|00001080| 0d 09 09 09 09 6d 73 67 | 2e 77 20 3a 3d 20 34 30 |.....msg|.w := 40|
|00001090| 2a 50 6f 72 74 73 2e 6d | 6d 3b 20 6d 73 67 2e 68 |*Ports.m|m; msg.h|
|000010a0| 20 3a 3d 20 6d 73 67 2e | 77 3b 0d 09 09 09 45 4e | := msg.|w;....EN|
|000010b0| 44 0d 09 09 7c 20 6d 73 | 67 3a 20 50 72 6f 70 65 |D...| ms|g: Prope|
|000010c0| 72 74 69 65 73 2e 46 6f | 63 75 73 50 72 65 66 20 |rties.Fo|cusPref |
|000010d0| 44 4f 0d 09 09 09 6d 73 | 67 2e 68 6f 74 46 6f 63 |DO....ms|g.hotFoc|
|000010e0| 75 73 20 3a 3d 20 54 52 | 55 45 0d 09 09 45 4c 53 |us := TR|UE...ELS|
|000010f0| 45 0d 09 09 45 4e 44 0d | 09 45 4e 44 20 48 61 6e |E...END.|.END Han|
|00001100| 64 6c 65 50 72 6f 70 4d | 73 67 3b 0d 0d 09 50 52 |dlePropM|sg;...PR|
|00001110| 4f 43 45 44 55 52 45 20 | 28 76 3a 20 56 69 65 77 |OCEDURE |(v: View|
|00001120| 29 20 48 61 6e 64 6c 65 | 43 74 72 6c 4d 73 67 20 |) Handle|CtrlMsg |
|00001130| 28 66 3a 20 56 69 65 77 | 73 2e 46 72 61 6d 65 3b |(f: View|s.Frame;|
|00001140| 20 56 41 52 20 6d 73 67 | 3a 20 43 6f 6e 74 72 6f | VAR msg|: Contro|
|00001150| 6c 6c 65 72 73 2e 4d 65 | 73 73 61 67 65 3b 0d 09 |llers.Me|ssage;..|
|00001160| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 56 |........|.......V|
|00001170| 41 52 20 66 6f 63 75 73 | 3a 20 56 69 65 77 73 2e |AR focus|: Views.|
|00001180| 56 69 65 77 29 3b 0d 09 | 09 56 41 52 20 63 3a 20 |View);..|.VAR c: |
|00001190| 43 6f 6e 74 61 69 6e 65 | 72 73 2e 43 6f 6e 74 72 |Containe|rs.Contr|
|000011a0| 6f 6c 6c 65 72 3b 0d 09 | 42 45 47 49 4e 0d 09 09 |oller;..|BEGIN...|
|000011b0| 57 49 54 48 20 6d 73 67 | 3a 20 43 6f 6e 74 72 6f |WITH msg|: Contro|
|000011c0| 6c 6c 65 72 73 2e 54 72 | 61 63 6b 4d 73 67 20 44 |llers.Tr|ackMsg D|
|000011d0| 4f 0d 09 09 09 49 46 20 | 43 6f 6e 74 72 6f 6c 6c |O....IF |Controll|
|000011e0| 65 72 73 2e 6d 6f 64 69 | 66 79 20 49 4e 20 6d 73 |ers.modi|fy IN ms|
|000011f0| 67 2e 6d 6f 64 69 66 69 | 65 72 73 20 54 48 45 4e |g.modifi|ers THEN|
|00001200| 0d 09 09 09 09 63 20 3a | 3d 20 43 6f 6e 74 61 69 |.....c :|= Contai|
|00001210| 6e 65 72 73 2e 46 6f 63 | 75 73 28 29 3b 0d 09 09 |ners.Foc|us();...|
|00001220| 09 09 49 46 20 63 2e 6f | 70 74 73 20 23 20 43 6f |..IF c.o|pts # Co|
|00001230| 6e 74 61 69 6e 65 72 73 | 2e 6d 61 73 6b 20 54 48 |ntainers|.mask TH|
|00001240| 45 4e 0d 09 09 09 09 09 | 70 61 72 61 2e 63 6f 6c |EN......|para.col|
|00001250| 6f 72 73 20 3a 3d 20 76 | 2e 63 6f 6c 6f 72 73 3b |ors := v|.colors;|
|00001260| 0d 09 09 09 09 09 53 74 | 64 43 6d 64 73 2e 4f 70 |......St|dCmds.Op|
|00001270| 65 6e 54 6f 6f 6c 44 69 | 61 6c 6f 67 28 27 4f 62 |enToolDi|alog('Ob|
|00001280| 78 2f 52 73 72 63 2f 43 | 75 62 65 73 27 2c 20 27 |x/Rsrc/C|ubes', '|
|00001290| 43 75 62 65 20 43 6f 6c | 6f 72 73 27 29 3b 0d 09 |Cube Col|ors');..|
|000012a0| 09 09 09 09 63 2e 53 65 | 74 53 69 6e 67 6c 65 74 |....c.Se|tSinglet|
|000012b0| 6f 6e 28 76 29 0d 09 09 | 09 09 45 4e 44 0d 09 09 |on(v)...|..END...|
|000012c0| 09 45 4e 44 0d 09 09 45 | 4c 53 45 0d 09 09 45 4e |.END...E|LSE...EN|
|000012d0| 44 0d 09 45 4e 44 20 48 | 61 6e 64 6c 65 43 74 72 |D..END H|andleCtr|
|000012e0| 6c 4d 73 67 3b 0d 0d 09 | 50 52 4f 43 45 44 55 52 |lMsg;...|PROCEDUR|
|000012f0| 45 20 28 76 3a 20 56 69 | 65 77 29 20 48 61 6e 64 |E (v: Vi|ew) Hand|
|00001300| 6c 65 4d 6f 64 65 6c 4d | 73 67 20 28 56 41 52 20 |leModelM|sg (VAR |
|00001310| 6d 73 67 3a 20 4d 6f 64 | 65 6c 73 2e 4d 65 73 73 |msg: Mod|els.Mess|
|00001320| 61 67 65 29 3b 0d 09 42 | 45 47 49 4e 0d 09 09 57 |age);..B|EGIN...W|
|00001330| 49 54 48 20 6d 73 67 3a | 20 4d 73 67 20 44 4f 0d |ITH msg:| Msg DO.|
|00001340| 09 09 09 76 2e 66 69 31 | 20 3a 3d 20 28 76 2e 66 |...v.fi1| := (v.f|
|00001350| 69 31 20 2b 20 37 29 20 | 4d 4f 44 20 70 69 32 3b |i1 + 7) |MOD pi2;|
|00001360| 0d 09 09 09 76 2e 66 69 | 32 20 3a 3d 20 28 76 2e |....v.fi|2 := (v.|
|00001370| 66 69 32 20 2b 20 31 29 | 20 4d 4f 44 20 70 69 32 |fi2 + 1)| MOD pi2|
|00001380| 3b 0d 09 09 09 6d 73 67 | 2e 63 6f 6e 73 75 6d 65 |;....msg|.consume|
|00001390| 64 20 3a 3d 20 54 52 55 | 45 3b 0d 09 09 09 56 69 |d := TRU|E;....Vi|
|000013a0| 65 77 73 2e 55 70 64 61 | 74 65 28 76 2c 20 56 69 |ews.Upda|te(v, Vi|
|000013b0| 65 77 73 2e 6b 65 65 70 | 46 72 61 6d 65 73 29 0d |ews.keep|Frames).|
|000013c0| 09 09 45 4c 53 45 0d 09 | 09 45 4e 44 0d 09 45 4e |..ELSE..|.END..EN|
|000013d0| 44 20 48 61 6e 64 6c 65 | 4d 6f 64 65 6c 4d 73 67 |D Handle|ModelMsg|
|000013e0| 3b 0d 0d 09 50 52 4f 43 | 45 44 55 52 45 20 28 76 |;...PROC|EDURE (v|
|000013f0| 3a 20 56 69 65 77 29 20 | 52 65 73 74 6f 72 65 20 |: View) |Restore |
|00001400| 28 66 3a 20 56 69 65 77 | 73 2e 46 72 61 6d 65 3b |(f: View|s.Frame;|
|00001410| 20 6c 2c 20 74 2c 20 72 | 2c 20 62 3a 20 4c 4f 4e | l, t, r|, b: LON|
|00001420| 47 49 4e 54 29 3b 0d 09 | 09 56 41 52 0d 09 09 09 |GINT);..|.VAR....|
|00001430| 66 69 31 2c 20 66 69 32 | 2c 20 61 2c 20 63 3a 20 |fi1, fi2|, a, c: |
|00001440| 49 4e 54 45 47 45 52 3b | 0d 09 09 09 70 30 68 2c |INTEGER;|....p0h,|
|00001450| 20 70 30 76 2c 20 70 31 | 68 2c 20 70 31 76 2c 20 | p0v, p1|h, p1v, |
|00001460| 70 32 68 2c 20 70 32 76 | 2c 20 70 33 68 2c 20 70 |p2h, p2v|, p3h, p|
|00001470| 33 76 3a 20 49 4e 54 45 | 47 45 52 3b 0d 09 09 09 |3v: INTE|GER;....|
|00001480| 77 2c 20 68 3a 20 4c 4f | 4e 47 49 4e 54 3b 0d 09 |w, h: LO|NGINT;..|
|00001490| 09 09 65 30 31 2c 65 31 | 32 2c 65 32 33 2c 65 33 |..e01,e1|2,e23,e3|
|000014a0| 30 2c 0d 09 09 09 65 34 | 35 2c 20 65 35 36 2c 20 |0,....e4|5, e56, |
|000014b0| 65 36 37 2c 20 65 37 34 | 2c 0d 09 09 09 65 30 34 |e67, e74|,....e04|
|000014c0| 2c 20 65 31 35 2c 20 65 | 32 36 2c 20 65 33 37 3a |, e15, e|26, e37:|
|000014d0| 20 42 4f 4f 4c 45 41 4e | 3b 0d 09 09 09 70 3a 20 | BOOLEAN|;....p: |
|000014e0| 41 52 52 41 59 20 34 20 | 4f 46 20 50 6f 72 74 73 |ARRAY 4 |OF Ports|
|000014f0| 2e 50 6f 69 6e 74 3b 0d | 09 09 09 0d 09 09 50 52 |.Point;.|......PR|
|00001500| 4f 43 45 44 55 52 45 20 | 44 72 61 77 53 69 64 65 |OCEDURE |DrawSide|
|00001510| 73 28 76 69 73 69 62 6c | 65 3a 20 42 4f 4f 4c 45 |s(visibl|e: BOOLE|
|00001520| 41 4e 29 3b 0d 09 09 42 | 45 47 49 4e 0d 09 09 09 |AN);...B|EGIN....|
|00001530| 49 46 20 28 65 30 31 20 | 26 20 65 31 32 20 26 20 |IF (e01 |& e12 & |
|00001540| 65 32 33 20 26 20 65 33 | 30 20 3d 20 76 69 73 69 |e23 & e3|0 = visi|
|00001550| 62 6c 65 29 20 26 20 28 | 76 2e 63 6f 6c 6f 72 73 |ble) & (|v.colors|
|00001560| 5b 30 5d 20 23 20 69 6e | 76 69 73 69 62 6c 65 29 |[0] # in|visible)|
|00001570| 20 54 48 45 4e 0d 09 09 | 09 09 70 5b 30 5d 2e 78 | THEN...|..p[0].x|
|00001580| 20 3a 3d 20 28 70 30 68 | 20 2d 20 63 29 20 2a 20 | := (p0h| - c) * |
|00001590| 77 3b 20 70 5b 30 5d 2e | 79 20 3a 3d 20 70 30 76 |w; p[0].|y := p0v|
|000015a0| 20 2a 20 77 3b 0d 09 09 | 09 09 70 5b 31 5d 2e 78 | * w;...|..p[1].x|
|000015b0| 20 3a 3d 20 28 70 31 68 | 20 2d 20 63 29 20 2a 20 | := (p1h| - c) * |
|000015c0| 77 3b 20 70 5b 31 5d 2e | 79 20 3a 3d 20 70 31 76 |w; p[1].|y := p1v|
|000015d0| 20 2a 20 77 3b 0d 09 09 | 09 09 70 5b 32 5d 2e 78 | * w;...|..p[2].x|
|000015e0| 20 3a 3d 20 28 70 32 68 | 20 2d 20 63 29 20 2a 20 | := (p2h| - c) * |
|000015f0| 77 3b 20 70 5b 32 5d 2e | 79 20 3a 3d 20 70 32 76 |w; p[2].|y := p2v|
|00001600| 20 2a 20 77 3b 0d 09 09 | 09 09 70 5b 33 5d 2e 78 | * w;...|..p[3].x|
|00001610| 20 3a 3d 20 28 70 33 68 | 20 2d 20 63 29 20 2a 20 | := (p3h| - c) * |
|00001620| 77 3b 20 70 5b 33 5d 2e | 79 20 3a 3d 20 70 33 76 |w; p[3].|y := p3v|
|00001630| 20 2a 20 77 3b 0d 09 09 | 09 09 66 2e 44 72 61 77 | * w;...|..f.Draw|
|00001640| 50 61 74 68 28 70 2c 20 | 34 2c 20 50 6f 72 74 73 |Path(p, |4, Ports|
|00001650| 2e 66 69 6c 6c 2c 20 76 | 2e 63 6f 6c 6f 72 73 5b |.fill, v|.colors[|
|00001660| 30 5d 2c 20 50 6f 72 74 | 73 2e 63 6c 6f 73 65 64 |0], Port|s.closed|
|00001670| 50 6f 6c 79 29 0d 09 09 | 09 45 4e 44 3b 0d 09 09 |Poly)...|.END;...|
|00001680| 09 49 46 20 28 65 34 35 | 20 26 20 65 35 36 20 26 |.IF (e45| & e56 &|
|00001690| 20 65 36 37 20 26 20 65 | 37 34 20 3d 20 76 69 73 | e67 & e|74 = vis|
|000016a0| 69 62 6c 65 29 20 26 20 | 28 76 2e 63 6f 6c 6f 72 |ible) & |(v.color|
|000016b0| 73 5b 31 5d 20 23 20 69 | 6e 76 69 73 69 62 6c 65 |s[1] # i|nvisible|
|000016c0| 29 20 20 54 48 45 4e 0d | 09 09 09 09 70 5b 30 5d |) THEN.|....p[0]|
|000016d0| 2e 78 20 3a 3d 20 28 70 | 30 68 20 2b 20 63 29 20 |.x := (p|0h + c) |
|000016e0| 2a 20 77 3b 20 70 5b 30 | 5d 2e 79 20 3a 3d 20 70 |* w; p[0|].y := p|
|000016f0| 30 76 20 2a 20 77 3b 0d | 09 09 09 09 70 5b 31 5d |0v * w;.|....p[1]|
|00001700| 2e 78 20 3a 3d 20 28 70 | 31 68 20 2b 20 63 29 20 |.x := (p|1h + c) |
|00001710| 2a 20 77 3b 20 70 5b 31 | 5d 2e 79 20 3a 3d 20 70 |* w; p[1|].y := p|
|00001720| 31 76 20 2a 20 77 3b 0d | 09 09 09 09 70 5b 32 5d |1v * w;.|....p[2]|
|00001730| 2e 78 20 3a 3d 20 28 70 | 32 68 20 2b 20 63 29 20 |.x := (p|2h + c) |
|00001740| 2a 20 77 3b 20 70 5b 32 | 5d 2e 79 20 3a 3d 20 70 |* w; p[2|].y := p|
|00001750| 32 76 20 2a 20 77 3b 0d | 09 09 09 09 70 5b 33 5d |2v * w;.|....p[3]|
|00001760| 2e 78 20 3a 3d 20 28 70 | 33 68 20 2b 20 63 29 20 |.x := (p|3h + c) |
|00001770| 2a 20 77 3b 20 70 5b 33 | 5d 2e 79 20 3a 3d 20 70 |* w; p[3|].y := p|
|00001780| 33 76 20 2a 20 77 3b 0d | 09 09 09 09 66 2e 44 72 |3v * w;.|....f.Dr|
|00001790| 61 77 50 61 74 68 28 70 | 2c 20 34 2c 20 50 6f 72 |awPath(p|, 4, Por|
|000017a0| 74 73 2e 66 69 6c 6c 2c | 20 76 2e 63 6f 6c 6f 72 |ts.fill,| v.color|
|000017b0| 73 5b 31 5d 2c 20 50 6f | 72 74 73 2e 63 6c 6f 73 |s[1], Po|rts.clos|
|000017c0| 65 64 50 6f 6c 79 29 0d | 09 09 09 45 4e 44 3b 0d |edPoly).|...END;.|
|000017d0| 09 09 09 49 46 20 28 65 | 30 31 20 26 20 65 31 35 |...IF (e|01 & e15|
|000017e0| 20 26 20 65 34 35 20 26 | 20 65 30 34 20 3d 20 76 | & e45 &| e04 = v|
|000017f0| 69 73 69 62 6c 65 29 20 | 26 20 28 76 2e 63 6f 6c |isible) |& (v.col|
|00001800| 6f 72 73 5b 32 5d 20 23 | 20 69 6e 76 69 73 69 62 |ors[2] #| invisib|
|00001810| 6c 65 29 20 20 54 48 45 | 4e 0d 09 09 09 09 70 5b |le) THE|N.....p[|
|00001820| 30 5d 2e 78 20 3a 3d 20 | 28 70 30 68 20 2d 20 63 |0].x := |(p0h - c|
|00001830| 29 20 2a 20 77 3b 20 70 | 5b 30 5d 2e 79 20 3a 3d |) * w; p|[0].y :=|
|00001840| 20 70 30 76 20 2a 20 77 | 3b 0d 09 09 09 09 70 5b | p0v * w|;.....p[|
|00001850| 31 5d 2e 78 20 3a 3d 20 | 28 70 31 68 20 2d 20 63 |1].x := |(p1h - c|
|00001860| 29 20 2a 20 77 3b 20 70 | 5b 31 5d 2e 79 20 3a 3d |) * w; p|[1].y :=|
|00001870| 20 70 31 76 20 2a 20 77 | 3b 0d 09 09 09 09 70 5b | p1v * w|;.....p[|
|00001880| 32 5d 2e 78 20 3a 3d 20 | 28 70 31 68 20 2b 20 63 |2].x := |(p1h + c|
|00001890| 29 20 2a 20 77 3b 20 70 | 5b 32 5d 2e 79 20 3a 3d |) * w; p|[2].y :=|
|000018a0| 20 70 31 76 20 2a 20 77 | 3b 0d 09 09 09 09 70 5b | p1v * w|;.....p[|
|000018b0| 33 5d 2e 78 20 3a 3d 20 | 28 70 30 68 20 2b 20 63 |3].x := |(p0h + c|
|000018c0| 29 20 2a 20 77 3b 20 70 | 5b 33 5d 2e 79 20 3a 3d |) * w; p|[3].y :=|
|000018d0| 20 70 30 76 20 2a 20 77 | 3b 0d 09 09 09 09 66 2e | p0v * w|;.....f.|
|000018e0| 44 72 61 77 50 61 74 68 | 28 70 2c 20 34 2c 20 50 |DrawPath|(p, 4, P|
|000018f0| 6f 72 74 73 2e 66 69 6c | 6c 2c 20 76 2e 63 6f 6c |orts.fil|l, v.col|
|00001900| 6f 72 73 5b 32 5d 2c 20 | 50 6f 72 74 73 2e 63 6c |ors[2], |Ports.cl|
|00001910| 6f 73 65 64 50 6f 6c 79 | 29 0d 09 09 09 45 4e 44 |osedPoly|)....END|
|00001920| 3b 0d 09 09 09 49 46 20 | 28 65 31 32 20 26 20 65 |;....IF |(e12 & e|
|00001930| 32 36 20 26 20 65 35 36 | 20 26 20 65 31 35 20 3d |26 & e56| & e15 =|
|00001940| 20 76 69 73 69 62 6c 65 | 29 20 26 20 28 76 2e 63 | visible|) & (v.c|
|00001950| 6f 6c 6f 72 73 5b 33 5d | 20 23 20 69 6e 76 69 73 |olors[3]| # invis|
|00001960| 69 62 6c 65 29 20 20 54 | 48 45 4e 0d 09 09 09 09 |ible) T|HEN.....|
|00001970| 70 5b 30 5d 2e 78 20 3a | 3d 20 28 70 31 68 20 2d |p[0].x :|= (p1h -|
|00001980| 20 63 29 20 2a 20 77 3b | 20 70 5b 30 5d 2e 79 20 | c) * w;| p[0].y |
|00001990| 3a 3d 20 70 31 76 20 2a | 20 77 3b 0d 09 09 09 09 |:= p1v *| w;.....|
|000019a0| 70 5b 31 5d 2e 78 20 3a | 3d 20 28 70 32 68 20 2d |p[1].x :|= (p2h -|
|000019b0| 20 63 29 20 2a 20 77 3b | 20 70 5b 31 5d 2e 79 20 | c) * w;| p[1].y |
|000019c0| 3a 3d 20 70 32 76 20 2a | 20 77 3b 0d 09 09 09 09 |:= p2v *| w;.....|
|000019d0| 70 5b 32 5d 2e 78 20 3a | 3d 20 28 70 32 68 20 2b |p[2].x :|= (p2h +|
|000019e0| 20 63 29 20 2a 20 77 3b | 20 70 5b 32 5d 2e 79 20 | c) * w;| p[2].y |
|000019f0| 3a 3d 20 70 32 76 20 2a | 20 77 3b 0d 09 09 09 09 |:= p2v *| w;.....|
|00001a00| 70 5b 33 5d 2e 78 20 3a | 3d 20 28 70 31 68 20 2b |p[3].x :|= (p1h +|
|00001a10| 20 63 29 20 2a 20 77 3b | 20 70 5b 33 5d 2e 79 20 | c) * w;| p[3].y |
|00001a20| 3a 3d 20 70 31 76 20 2a | 20 77 3b 0d 09 09 09 09 |:= p1v *| w;.....|
|00001a30| 66 2e 44 72 61 77 50 61 | 74 68 28 70 2c 20 34 2c |f.DrawPa|th(p, 4,|
|00001a40| 20 50 6f 72 74 73 2e 66 | 69 6c 6c 2c 20 76 2e 63 | Ports.f|ill, v.c|
|00001a50| 6f 6c 6f 72 73 5b 33 5d | 2c 20 50 6f 72 74 73 2e |olors[3]|, Ports.|
|00001a60| 63 6c 6f 73 65 64 50 6f | 6c 79 29 0d 09 09 09 45 |closedPo|ly)....E|
|00001a70| 4e 44 3b 0d 09 09 09 49 | 46 20 28 65 32 33 20 26 |ND;....I|F (e23 &|
|00001a80| 20 65 33 37 20 26 20 65 | 36 37 20 26 20 65 32 36 | e37 & e|67 & e26|
|00001a90| 20 3d 20 76 69 73 69 62 | 6c 65 29 20 26 20 28 76 | = visib|le) & (v|
|00001aa0| 2e 63 6f 6c 6f 72 73 5b | 34 5d 20 23 20 69 6e 76 |.colors[|4] # inv|
|00001ab0| 69 73 69 62 6c 65 29 20 | 20 54 48 45 4e 0d 09 09 |isible) | THEN...|
|00001ac0| 09 09 70 5b 30 5d 2e 78 | 20 3a 3d 20 28 70 32 68 |..p[0].x| := (p2h|
|00001ad0| 20 2d 20 63 29 20 2a 20 | 77 3b 20 70 5b 30 5d 2e | - c) * |w; p[0].|
|00001ae0| 79 20 3a 3d 20 70 32 76 | 20 2a 20 77 3b 0d 09 09 |y := p2v| * w;...|
|00001af0| 09 09 70 5b 31 5d 2e 78 | 20 3a 3d 20 28 70 33 68 |..p[1].x| := (p3h|
|00001b00| 20 2d 20 63 29 20 2a 20 | 77 3b 20 70 5b 31 5d 2e | - c) * |w; p[1].|
|00001b10| 79 20 3a 3d 20 70 33 76 | 20 2a 20 77 3b 0d 09 09 |y := p3v| * w;...|
|00001b20| 09 09 70 5b 32 5d 2e 78 | 20 3a 3d 20 28 70 33 68 |..p[2].x| := (p3h|
|00001b30| 20 2b 20 63 29 20 2a 20 | 77 3b 20 70 5b 32 5d 2e | + c) * |w; p[2].|
|00001b40| 79 20 3a 3d 20 70 33 76 | 20 2a 20 77 3b 0d 09 09 |y := p3v| * w;...|
|00001b50| 09 09 70 5b 33 5d 2e 78 | 20 3a 3d 20 28 70 32 68 |..p[3].x| := (p2h|
|00001b60| 20 2b 20 63 29 20 2a 20 | 77 3b 20 70 5b 33 5d 2e | + c) * |w; p[3].|
|00001b70| 79 20 3a 3d 20 70 32 76 | 20 2a 20 77 3b 0d 09 09 |y := p2v| * w;...|
|00001b80| 09 09 66 2e 44 72 61 77 | 50 61 74 68 28 70 2c 20 |..f.Draw|Path(p, |
|00001b90| 34 2c 20 50 6f 72 74 73 | 2e 66 69 6c 6c 2c 20 76 |4, Ports|.fill, v|
|00001ba0| 2e 63 6f 6c 6f 72 73 5b | 34 5d 2c 20 50 6f 72 74 |.colors[|4], Port|
|00001bb0| 73 2e 63 6c 6f 73 65 64 | 50 6f 6c 79 29 0d 09 09 |s.closed|Poly)...|
|00001bc0| 09 45 4e 44 3b 0d 09 09 | 09 49 46 20 28 65 33 30 |.END;...|.IF (e30|
|00001bd0| 20 26 20 65 30 34 20 26 | 20 65 37 34 20 26 20 65 | & e04 &| e74 & e|
|00001be0| 33 37 20 3d 20 76 69 73 | 69 62 6c 65 29 20 26 20 |37 = vis|ible) & |
|00001bf0| 28 76 2e 63 6f 6c 6f 72 | 73 5b 35 5d 20 23 20 69 |(v.color|s[5] # i|
|00001c00| 6e 76 69 73 69 62 6c 65 | 29 20 20 54 48 45 4e 0d |nvisible|) THEN.|
|00001c10| 09 09 09 09 70 5b 30 5d | 2e 78 20 3a 3d 20 28 70 |....p[0]|.x := (p|
|00001c20| 33 68 20 2d 20 63 29 20 | 2a 20 77 3b 20 70 5b 30 |3h - c) |* w; p[0|
|00001c30| 5d 2e 79 20 3a 3d 20 70 | 33 76 20 2a 20 77 3b 0d |].y := p|3v * w;.|
|00001c40| 09 09 09 09 70 5b 31 5d | 2e 78 20 3a 3d 20 28 70 |....p[1]|.x := (p|
|00001c50| 30 68 20 2d 20 63 29 20 | 2a 20 77 3b 20 70 5b 31 |0h - c) |* w; p[1|
|00001c60| 5d 2e 79 20 3a 3d 20 70 | 30 76 20 2a 20 77 3b 0d |].y := p|0v * w;.|
|00001c70| 09 09 09 09 70 5b 32 5d | 2e 78 20 3a 3d 20 28 70 |....p[2]|.x := (p|
|00001c80| 30 68 20 2b 20 63 29 20 | 2a 20 77 3b 20 70 5b 32 |0h + c) |* w; p[2|
|00001c90| 5d 2e 79 20 3a 3d 20 70 | 30 76 20 2a 20 77 3b 0d |].y := p|0v * w;.|
|00001ca0| 09 09 09 09 70 5b 33 5d | 2e 78 20 3a 3d 20 28 70 |....p[3]|.x := (p|
|00001cb0| 33 68 20 2b 20 63 29 20 | 2a 20 77 3b 20 70 5b 33 |3h + c) |* w; p[3|
|00001cc0| 5d 2e 79 20 3a 3d 20 70 | 33 76 20 2a 20 77 3b 0d |].y := p|3v * w;.|
|00001cd0| 09 09 09 09 66 2e 44 72 | 61 77 50 61 74 68 28 70 |....f.Dr|awPath(p|
|00001ce0| 2c 20 34 2c 20 50 6f 72 | 74 73 2e 66 69 6c 6c 2c |, 4, Por|ts.fill,|
|00001cf0| 20 76 2e 63 6f 6c 6f 72 | 73 5b 35 5d 2c 20 50 6f | v.color|s[5], Po|
|00001d00| 72 74 73 2e 63 6c 6f 73 | 65 64 50 6f 6c 79 29 0d |rts.clos|edPoly).|
|00001d10| 09 09 09 45 4e 44 3b 0d | 09 09 09 49 46 20 65 30 |...END;.|...IF e0|
|00001d20| 31 20 3d 20 76 69 73 69 | 62 6c 65 20 54 48 45 4e |1 = visi|ble THEN|
|00001d30| 0d 09 09 09 09 66 2e 44 | 72 61 77 4c 69 6e 65 28 |.....f.D|rawLine(|
|00001d40| 28 70 30 68 20 2d 20 63 | 29 20 2a 20 77 2c 20 70 |(p0h - c|) * w, p|
|00001d50| 30 76 20 2a 20 77 2c 20 | 28 70 31 68 20 2d 20 63 |0v * w, |(p1h - c|
|00001d60| 29 20 2a 20 77 2c 20 70 | 31 76 20 2a 20 77 2c 20 |) * w, p|1v * w, |
|00001d70| 30 2c 20 50 6f 72 74 73 | 2e 62 6c 61 63 6b 29 0d |0, Ports|.black).|
|00001d80| 09 09 09 45 4e 44 3b 0d | 09 09 09 49 46 20 65 31 |...END;.|...IF e1|
|00001d90| 32 20 3d 20 76 69 73 69 | 62 6c 65 20 54 48 45 4e |2 = visi|ble THEN|
|00001da0| 0d 09 09 09 09 66 2e 44 | 72 61 77 4c 69 6e 65 28 |.....f.D|rawLine(|
|00001db0| 28 70 31 68 20 2d 20 63 | 29 20 2a 20 77 2c 20 70 |(p1h - c|) * w, p|
|00001dc0| 31 76 20 2a 20 77 2c 20 | 28 70 32 68 20 2d 20 63 |1v * w, |(p2h - c|
|00001dd0| 29 20 2a 20 77 2c 20 70 | 32 76 20 2a 20 77 2c 20 |) * w, p|2v * w, |
|00001de0| 30 2c 20 50 6f 72 74 73 | 2e 62 6c 61 63 6b 29 0d |0, Ports|.black).|
|00001df0| 09 09 09 45 4e 44 3b 0d | 09 09 09 49 46 20 65 32 |...END;.|...IF e2|
|00001e00| 33 20 3d 20 76 69 73 69 | 62 6c 65 20 54 48 45 4e |3 = visi|ble THEN|
|00001e10| 0d 09 09 09 09 66 2e 44 | 72 61 77 4c 69 6e 65 28 |.....f.D|rawLine(|
|00001e20| 28 70 32 68 20 2d 20 63 | 29 20 2a 20 77 2c 20 70 |(p2h - c|) * w, p|
|00001e30| 32 76 20 2a 20 77 2c 20 | 28 70 33 68 20 2d 20 63 |2v * w, |(p3h - c|
|00001e40| 29 20 2a 20 77 2c 20 70 | 33 76 20 2a 20 77 2c 20 |) * w, p|3v * w, |
|00001e50| 30 2c 20 50 6f 72 74 73 | 2e 62 6c 61 63 6b 29 0d |0, Ports|.black).|
|00001e60| 09 09 09 45 4e 44 3b 0d | 09 09 09 49 46 20 65 33 |...END;.|...IF e3|
|00001e70| 30 20 3d 20 76 69 73 69 | 62 6c 65 20 54 48 45 4e |0 = visi|ble THEN|
|00001e80| 0d 09 09 09 09 66 2e 44 | 72 61 77 4c 69 6e 65 28 |.....f.D|rawLine(|
|00001e90| 28 70 33 68 20 2d 20 63 | 29 20 2a 20 77 2c 20 70 |(p3h - c|) * w, p|
|00001ea0| 33 76 20 2a 20 77 2c 20 | 28 70 30 68 20 2d 20 63 |3v * w, |(p0h - c|
|00001eb0| 29 20 2a 20 77 2c 20 70 | 30 76 20 2a 20 77 2c 20 |) * w, p|0v * w, |
|00001ec0| 30 2c 20 50 6f 72 74 73 | 2e 62 6c 61 63 6b 29 0d |0, Ports|.black).|
|00001ed0| 09 09 09 45 4e 44 3b 0d | 09 09 09 49 46 20 65 34 |...END;.|...IF e4|
|00001ee0| 35 20 3d 20 76 69 73 69 | 62 6c 65 20 54 48 45 4e |5 = visi|ble THEN|
|00001ef0| 0d 09 09 09 09 66 2e 44 | 72 61 77 4c 69 6e 65 28 |.....f.D|rawLine(|
|00001f00| 28 70 30 68 20 2b 20 63 | 29 20 2a 20 77 2c 20 70 |(p0h + c|) * w, p|
|00001f10| 30 76 20 2a 20 77 2c 20 | 28 70 31 68 20 2b 20 63 |0v * w, |(p1h + c|
|00001f20| 29 20 2a 20 77 2c 20 70 | 31 76 20 2a 20 77 2c 20 |) * w, p|1v * w, |
|00001f30| 30 2c 20 50 6f 72 74 73 | 2e 62 6c 61 63 6b 29 0d |0, Ports|.black).|
|00001f40| 09 09 09 45 4e 44 3b 0d | 09 09 09 49 46 20 65 35 |...END;.|...IF e5|
|00001f50| 36 20 3d 20 76 69 73 69 | 62 6c 65 20 54 48 45 4e |6 = visi|ble THEN|
|00001f60| 0d 09 09 09 09 66 2e 44 | 72 61 77 4c 69 6e 65 28 |.....f.D|rawLine(|
|00001f70| 28 70 31 68 20 2b 20 63 | 29 20 2a 20 77 2c 20 70 |(p1h + c|) * w, p|
|00001f80| 31 76 20 2a 20 77 2c 20 | 28 70 32 68 20 2b 20 63 |1v * w, |(p2h + c|
|00001f90| 29 20 2a 20 77 2c 20 70 | 32 76 20 2a 20 77 2c 20 |) * w, p|2v * w, |
|00001fa0| 30 2c 20 50 6f 72 74 73 | 2e 62 6c 61 63 6b 29 0d |0, Ports|.black).|
|00001fb0| 09 09 09 45 4e 44 3b 0d | 09 09 09 49 46 20 65 36 |...END;.|...IF e6|
|00001fc0| 37 20 3d 20 76 69 73 69 | 62 6c 65 20 54 48 45 4e |7 = visi|ble THEN|
|00001fd0| 0d 09 09 09 09 66 2e 44 | 72 61 77 4c 69 6e 65 28 |.....f.D|rawLine(|
|00001fe0| 28 70 32 68 20 2b 20 63 | 29 20 2a 20 77 2c 20 70 |(p2h + c|) * w, p|
|00001ff0| 32 76 20 2a 20 77 2c 20 | 28 70 33 68 20 2b 20 63 |2v * w, |(p3h + c|
|00002000| 29 20 2a 20 77 2c 20 70 | 33 76 20 2a 20 77 2c 20 |) * w, p|3v * w, |
|00002010| 30 2c 20 50 6f 72 74 73 | 2e 62 6c 61 63 6b 29 0d |0, Ports|.black).|
|00002020| 09 09 09 45 4e 44 3b 0d | 09 09 09 49 46 20 65 37 |...END;.|...IF e7|
|00002030| 34 20 3d 20 76 69 73 69 | 62 6c 65 20 54 48 45 4e |4 = visi|ble THEN|
|00002040| 0d 09 09 09 09 66 2e 44 | 72 61 77 4c 69 6e 65 28 |.....f.D|rawLine(|
|00002050| 28 70 33 68 20 2b 20 63 | 29 20 2a 20 77 2c 20 70 |(p3h + c|) * w, p|
|00002060| 33 76 20 2a 20 77 2c 20 | 28 70 30 68 20 2b 20 63 |3v * w, |(p0h + c|
|00002070| 29 20 2a 20 77 2c 20 70 | 30 76 20 2a 20 77 2c 20 |) * w, p|0v * w, |
|00002080| 30 2c 20 50 6f 72 74 73 | 2e 62 6c 61 63 6b 29 0d |0, Ports|.black).|
|00002090| 09 09 09 45 4e 44 3b 0d | 09 09 09 49 46 20 65 30 |...END;.|...IF e0|
|000020a0| 34 20 3d 20 76 69 73 69 | 62 6c 65 20 54 48 45 4e |4 = visi|ble THEN|
|000020b0| 0d 09 09 09 09 66 2e 44 | 72 61 77 4c 69 6e 65 28 |.....f.D|rawLine(|
|000020c0| 28 70 30 68 20 2b 20 63 | 29 20 2a 20 77 2c 20 70 |(p0h + c|) * w, p|
|000020d0| 30 76 20 2a 20 77 2c 20 | 28 70 30 68 20 2d 20 63 |0v * w, |(p0h - c|
|000020e0| 29 20 2a 20 77 2c 20 70 | 30 76 20 2a 20 77 2c 20 |) * w, p|0v * w, |
|000020f0| 30 2c 20 50 6f 72 74 73 | 2e 62 6c 61 63 6b 29 0d |0, Ports|.black).|
|00002100| 09 09 09 45 4e 44 3b 0d | 09 09 09 49 46 20 65 31 |...END;.|...IF e1|
|00002110| 35 20 3d 20 76 69 73 69 | 62 6c 65 20 54 48 45 4e |5 = visi|ble THEN|
|00002120| 0d 09 09 09 09 66 2e 44 | 72 61 77 4c 69 6e 65 28 |.....f.D|rawLine(|
|00002130| 28 70 31 68 20 2b 20 63 | 29 20 2a 20 77 2c 20 70 |(p1h + c|) * w, p|
|00002140| 31 76 20 2a 20 77 2c 20 | 28 70 31 68 20 2d 20 63 |1v * w, |(p1h - c|
|00002150| 29 20 2a 20 77 2c 20 70 | 31 76 20 2a 20 77 2c 20 |) * w, p|1v * w, |
|00002160| 30 2c 20 50 6f 72 74 73 | 2e 62 6c 61 63 6b 29 0d |0, Ports|.black).|
|00002170| 09 09 09 45 4e 44 3b 0d | 09 09 09 49 46 20 65 32 |...END;.|...IF e2|
|00002180| 36 20 3d 20 76 69 73 69 | 62 6c 65 20 54 48 45 4e |6 = visi|ble THEN|
|00002190| 0d 09 09 09 09 66 2e 44 | 72 61 77 4c 69 6e 65 28 |.....f.D|rawLine(|
|000021a0| 28 70 32 68 20 2b 20 63 | 29 20 2a 20 77 2c 20 70 |(p2h + c|) * w, p|
|000021b0| 32 76 20 2a 20 77 2c 20 | 28 70 32 68 20 2d 20 63 |2v * w, |(p2h - c|
|000021c0| 29 20 2a 20 77 2c 20 70 | 32 76 20 2a 20 77 2c 20 |) * w, p|2v * w, |
|000021d0| 30 2c 20 50 6f 72 74 73 | 2e 62 6c 61 63 6b 29 0d |0, Ports|.black).|
|000021e0| 09 09 09 45 4e 44 3b 0d | 09 09 09 49 46 20 65 33 |...END;.|...IF e3|
|000021f0| 37 20 3d 20 76 69 73 69 | 62 6c 65 20 54 48 45 4e |7 = visi|ble THEN|
|00002200| 0d 09 09 09 09 66 2e 44 | 72 61 77 4c 69 6e 65 28 |.....f.D|rawLine(|
|00002210| 28 70 33 68 20 2b 20 63 | 29 20 2a 20 77 2c 20 70 |(p3h + c|) * w, p|
|00002220| 33 76 20 2a 20 77 2c 20 | 28 70 33 68 20 2d 20 63 |3v * w, |(p3h - c|
|00002230| 29 20 2a 20 77 2c 20 70 | 33 76 20 2a 20 77 2c 20 |) * w, p|3v * w, |
|00002240| 30 2c 20 50 6f 72 74 73 | 2e 62 6c 61 63 6b 29 0d |0, Ports|.black).|
|00002250| 09 09 09 45 4e 44 3b 0d | 09 09 45 4e 44 20 44 72 |...END;.|..END Dr|
|00002260| 61 77 53 69 64 65 73 3b | 0d 0d 09 42 45 47 49 4e |awSides;|...BEGIN|
|00002270| 0d 09 09 49 46 20 7e 61 | 63 74 69 6f 6e 49 73 41 |...IF ~a|ctionIsA|
|00002280| 63 74 69 76 65 20 54 48 | 45 4e 0d 09 09 09 20 61 |ctive TH|EN.... a|
|00002290| 63 74 69 6f 6e 49 73 41 | 63 74 69 76 65 20 3a 3d |ctionIsA|ctive :=|
|000022a0| 20 54 52 55 45 3b 20 61 | 63 74 69 6f 6e 2e 44 6f | TRUE; a|ction.Do|
|000022b0| 0d 09 09 45 4e 44 3b 0d | 09 09 0d 09 09 76 2e 63 |...END;.|.....v.c|
|000022c0| 6f 6e 74 65 78 74 2e 47 | 65 74 53 69 7a 65 28 77 |ontext.G|etSize(w|
|000022d0| 2c 20 68 29 3b 20 77 20 | 3a 3d 20 28 77 20 20 44 |, h); w |:= (w D|
|000022e0| 49 56 20 31 37 30 29 3b | 0d 0d 09 09 66 69 31 20 |IV 170);|....fi1 |
|000022f0| 3a 3d 20 76 2e 66 69 31 | 3b 0d 09 09 66 69 32 20 |:= v.fi1|;...fi2 |
|00002300| 3a 3d 20 76 2e 66 69 32 | 3b 0d 0d 09 09 61 20 3a |:= v.fi2|;....a :|
|00002310| 3d 20 73 69 6e 75 73 5b | 66 69 32 5d 3b 0d 09 09 |= sinus[|fi2];...|
|00002320| 63 20 3a 3d 20 28 73 69 | 6e 75 73 5b 28 36 34 20 |c := (si|nus[(64 |
|00002330| 2d 20 66 69 32 29 20 4d | 4f 44 20 70 69 32 5d 20 |- fi2) M|OD pi2] |
|00002340| 2a 20 39 31 29 20 44 49 | 56 20 31 32 38 3b 20 28 |* 91) DI|V 128; (|
|00002350| 2a 20 39 31 2f 31 32 38 | 20 3a 3d 20 73 71 72 74 |* 91/128| := sqrt|
|00002360| 28 32 29 20 20 2a 29 0d | 0d 09 09 70 30 76 20 3a |(2) *).|...p0v :|
|00002370| 3d 20 38 35 20 2b 20 73 | 69 6e 75 73 5b 66 69 31 |= 85 + s|inus[fi1|
|00002380| 5d 3b 0d 09 09 70 30 68 | 20 3a 3d 20 38 35 20 2b |];...p0h| := 85 +|
|00002390| 20 28 61 20 2a 20 73 69 | 6e 75 73 5b 28 36 34 20 | (a * si|nus[(64 |
|000023a0| 2d 20 66 69 31 29 20 4d | 4f 44 20 70 69 32 5d 29 |- fi1) M|OD pi2])|
|000023b0| 20 44 49 56 20 36 34 3b | 0d 0d 09 09 70 31 76 20 | DIV 64;|....p1v |
|000023c0| 3a 3d 20 38 35 20 2b 20 | 73 69 6e 75 73 5b 28 36 |:= 85 + |sinus[(6|
|000023d0| 34 20 2b 20 66 69 31 29 | 20 4d 4f 44 20 70 69 32 |4 + fi1)| MOD pi2|
|000023e0| 5d 3b 0d 09 09 70 31 68 | 20 3a 3d 20 38 35 20 2b |];...p1h| := 85 +|
|000023f0| 20 28 61 20 2a 20 73 69 | 6e 75 73 5b 28 2d 66 69 | (a * si|nus[(-fi|
|00002400| 31 29 20 4d 4f 44 20 70 | 69 32 5d 29 20 44 49 56 |1) MOD p|i2]) DIV|
|00002410| 20 36 34 3b 0d 0d 09 09 | 70 32 76 20 3a 3d 20 38 | 64;....|p2v := 8|
|00002420| 35 20 2b 20 73 69 6e 75 | 73 5b 28 31 32 38 20 2b |5 + sinu|s[(128 +|
|00002430| 20 66 69 31 29 20 4d 4f | 44 20 70 69 32 5d 3b 0d | fi1) MO|D pi2];.|
|00002440| 09 09 70 32 68 20 3a 3d | 20 38 35 20 2b 20 28 61 |..p2h :=| 85 + (a|
|00002450| 20 2a 20 73 69 6e 75 73 | 5b 28 2d 36 34 20 2d 20 | * sinus|[(-64 - |
|00002460| 66 69 31 29 20 4d 4f 44 | 20 70 69 32 5d 29 20 44 |fi1) MOD| pi2]) D|
|00002470| 49 56 20 36 34 3b 0d 0d | 09 09 70 33 76 20 3a 3d |IV 64;..|..p3v :=|
|00002480| 20 38 35 20 2b 20 73 69 | 6e 75 73 5b 28 31 39 32 | 85 + si|nus[(192|
|00002490| 20 2b 20 66 69 31 29 20 | 4d 4f 44 20 70 69 32 5d | + fi1) |MOD pi2]|
|000024a0| 3b 0d 09 09 70 33 68 20 | 3a 3d 20 38 35 20 2b 20 |;...p3h |:= 85 + |
|000024b0| 28 61 20 2a 20 73 69 6e | 75 73 5b 28 2d 31 32 38 |(a * sin|us[(-128|
|000024c0| 20 2d 20 66 69 31 29 20 | 4d 4f 44 20 70 69 32 5d | - fi1) |MOD pi2]|
|000024d0| 29 20 44 49 56 20 36 34 | 3b 0d 0d 09 09 28 2a 20 |) DIV 64|;....(* |
|000024e0| 64 65 74 65 72 6d 69 6e | 65 20 76 69 73 69 62 69 |determin|e visibi|
|000024f0| 6c 69 74 79 20 6f 66 20 | 74 68 65 20 74 77 65 6c |lity of |the twel|
|00002500| 76 65 20 65 64 67 65 73 | 20 2a 29 0d 09 09 0d 09 |ve edges| *).....|
|00002510| 09 65 30 31 20 3a 3d 20 | 20 7e 28 28 28 28 66 69 |.e01 := | ~((((fi|
|00002520| 32 20 2d 20 31 39 32 29 | 20 4d 4f 44 20 70 69 32 |2 - 192)| MOD pi2|
|00002530| 20 3c 20 36 34 29 20 26 | 20 28 28 66 69 31 20 2d | < 64) &| ((fi1 -|
|00002540| 20 33 32 29 20 4d 4f 44 | 20 70 69 32 20 3c 20 31 | 32) MOD| pi2 < 1|
|00002550| 32 38 29 29 0d 09 09 09 | 09 4f 52 20 28 28 28 66 |28))....|.OR (((f|
|00002560| 69 32 20 2d 20 31 32 38 | 29 20 4d 4f 44 20 70 69 |i2 - 128|) MOD pi|
|00002570| 32 20 3c 20 36 34 29 20 | 26 20 28 28 66 69 31 20 |2 < 64) |& ((fi1 |
|00002580| 2d 20 31 36 30 29 20 4d | 4f 44 20 70 69 32 20 3c |- 160) M|OD pi2 <|
|00002590| 20 31 32 38 29 29 29 3b | 0d 09 09 65 31 32 20 3a | 128)));|...e12 :|
|000025a0| 3d 20 7e 28 28 28 28 66 | 69 32 20 2d 20 31 39 32 |= ~((((f|i2 - 192|
|000025b0| 29 20 4d 4f 44 20 70 69 | 32 20 3c 20 36 34 29 20 |) MOD pi|2 < 64) |
|000025c0| 26 20 28 28 66 69 31 20 | 2d 20 32 32 34 29 20 4d |& ((fi1 |- 224) M|
|000025d0| 4f 44 20 70 69 32 20 3c | 20 31 32 38 29 29 0d 09 |OD pi2 <| 128))..|
|000025e0| 09 09 09 4f 52 20 28 28 | 28 66 69 32 20 2d 20 31 |...OR ((|(fi2 - 1|
|000025f0| 32 38 29 20 4d 4f 44 20 | 70 69 32 20 3c 20 36 34 |28) MOD |pi2 < 64|
|00002600| 29 20 26 20 28 28 66 69 | 31 20 2d 20 39 36 29 20 |) & ((fi|1 - 96) |
|00002610| 4d 4f 44 20 70 69 32 20 | 3c 20 31 32 38 29 29 29 |MOD pi2 |< 128)))|
|00002620| 3b 0d 09 09 65 32 33 20 | 3a 3d 20 7e 28 28 28 28 |;...e23 |:= ~((((|
|00002630| 66 69 32 20 2d 20 31 39 | 32 29 20 4d 4f 44 20 70 |fi2 - 19|2) MOD p|
|00002640| 69 32 20 3c 20 36 34 29 | 20 26 20 28 28 66 69 31 |i2 < 64)| & ((fi1|
|00002650| 20 2d 20 31 36 30 29 20 | 4d 4f 44 20 70 69 32 20 | - 160) |MOD pi2 |
|00002660| 3c 20 31 32 38 29 29 0d | 09 09 09 09 4f 52 20 28 |< 128)).|....OR (|
|00002670| 28 28 66 69 32 20 2d 20 | 31 32 38 29 20 4d 4f 44 |((fi2 - |128) MOD|
|00002680| 20 70 69 32 20 3c 20 36 | 34 29 20 26 20 28 28 66 | pi2 < 6|4) & ((f|
|00002690| 69 31 20 2d 20 33 32 29 | 20 4d 4f 44 20 70 69 32 |i1 - 32)| MOD pi2|
|000026a0| 20 3c 20 31 32 38 29 29 | 29 3b 0d 09 09 65 33 30 | < 128))|);...e30|
|000026b0| 20 3a 3d 20 7e 28 28 28 | 28 66 69 32 20 2d 20 31 | := ~(((|(fi2 - 1|
|000026c0| 39 32 29 20 4d 4f 44 20 | 70 69 32 20 3c 20 36 34 |92) MOD |pi2 < 64|
|000026d0| 29 20 26 20 28 28 66 69 | 31 20 2d 20 39 36 29 20 |) & ((fi|1 - 96) |
|000026e0| 4d 4f 44 20 70 69 32 20 | 3c 20 31 32 38 29 29 0d |MOD pi2 |< 128)).|
|000026f0| 09 09 09 09 4f 52 20 28 | 28 28 66 69 32 20 2d 20 |....OR (|((fi2 - |
|00002700| 31 32 38 29 20 4d 4f 44 | 20 70 69 32 20 3c 20 36 |128) MOD| pi2 < 6|
|00002710| 34 29 20 26 20 28 28 66 | 69 31 20 2d 20 32 32 34 |4) & ((f|i1 - 224|
|00002720| 29 20 4d 4f 44 20 70 69 | 32 20 3c 20 31 32 38 29 |) MOD pi|2 < 128)|
|00002730| 29 29 3b 0d 09 09 65 34 | 35 20 3a 3d 20 7e 28 28 |));...e4|5 := ~((|
|00002740| 28 28 66 69 32 29 20 4d | 4f 44 20 70 69 32 20 3c |((fi2) M|OD pi2 <|
|00002750| 20 36 34 29 20 26 20 28 | 28 66 69 31 20 2d 20 33 | 64) & (|(fi1 - 3|
|00002760| 32 29 20 4d 4f 44 20 70 | 69 32 20 3c 20 31 32 38 |2) MOD p|i2 < 128|
|00002770| 29 29 0d 09 09 09 09 4f | 52 20 28 28 28 66 69 32 |)).....O|R (((fi2|
|00002780| 20 2d 20 36 34 29 20 4d | 4f 44 20 70 69 32 20 3c | - 64) M|OD pi2 <|
|00002790| 20 36 34 29 20 26 20 28 | 28 66 69 31 20 2d 20 31 | 64) & (|(fi1 - 1|
|000027a0| 36 30 29 20 4d 4f 44 20 | 70 69 32 20 3c 20 31 32 |60) MOD |pi2 < 12|
|000027b0| 38 29 29 29 3b 0d 09 09 | 65 35 36 20 3a 3d 20 7e |8)));...|e56 := ~|
|000027c0| 28 28 28 28 66 69 32 29 | 20 4d 4f 44 20 70 69 32 |((((fi2)| MOD pi2|
|000027d0| 20 3c 20 36 34 29 20 26 | 20 28 28 66 69 31 20 2d | < 64) &| ((fi1 -|
|000027e0| 20 32 32 34 29 20 4d 4f | 44 20 70 69 32 20 3c 20 | 224) MO|D pi2 < |
|000027f0| 31 32 38 29 29 0d 09 09 | 09 09 4f 52 20 28 28 28 |128))...|..OR (((|
|00002800| 66 69 32 20 2d 20 36 34 | 29 20 4d 4f 44 20 70 69 |fi2 - 64|) MOD pi|
|00002810| 32 20 3c 20 36 34 29 20 | 26 20 28 28 66 69 31 20 |2 < 64) |& ((fi1 |
|00002820| 2d 20 39 36 29 20 4d 4f | 44 20 70 69 32 20 3c 20 |- 96) MO|D pi2 < |
|00002830| 31 32 38 29 29 29 3b 0d | 09 09 65 36 37 20 3a 3d |128)));.|..e67 :=|
|00002840| 20 7e 28 28 28 28 66 69 | 32 29 20 4d 4f 44 20 70 | ~((((fi|2) MOD p|
|00002850| 69 32 20 3c 20 36 34 29 | 20 26 20 28 28 66 69 31 |i2 < 64)| & ((fi1|
|00002860| 20 2d 20 31 36 30 29 20 | 4d 4f 44 20 70 69 32 20 | - 160) |MOD pi2 |
|00002870| 3c 20 31 32 38 29 29 0d | 09 09 09 09 4f 52 20 28 |< 128)).|....OR (|
|00002880| 28 28 66 69 32 20 2d 20 | 36 34 29 20 4d 4f 44 20 |((fi2 - |64) MOD |
|00002890| 70 69 32 20 3c 20 36 34 | 29 20 26 20 28 28 66 69 |pi2 < 64|) & ((fi|
|000028a0| 31 20 2d 20 33 32 29 20 | 4d 4f 44 20 70 69 32 20 |1 - 32) |MOD pi2 |
|000028b0| 3c 20 31 32 38 29 29 29 | 3b 0d 09 09 65 37 34 20 |< 128)))|;...e74 |
|000028c0| 3a 3d 20 7e 28 28 28 28 | 66 69 32 29 20 4d 4f 44 |:= ~((((|fi2) MOD|
|000028d0| 20 70 69 32 20 3c 20 36 | 34 29 20 26 20 28 28 66 | pi2 < 6|4) & ((f|
|000028e0| 69 31 20 2d 20 39 36 29 | 20 4d 4f 44 20 70 69 32 |i1 - 96)| MOD pi2|
|000028f0| 20 3c 20 31 32 38 29 29 | 0d 09 09 09 09 4f 52 20 | < 128))|.....OR |
|00002900| 28 28 28 66 69 32 20 2d | 20 36 34 29 20 4d 4f 44 |(((fi2 -| 64) MOD|
|00002910| 20 70 69 32 20 3c 20 36 | 34 29 20 26 20 28 28 66 | pi2 < 6|4) & ((f|
|00002920| 69 31 20 2d 20 32 32 34 | 29 20 4d 4f 44 20 70 69 |i1 - 224|) MOD pi|
|00002930| 32 20 3c 20 31 32 38 29 | 29 29 3b 0d 09 09 65 30 |2 < 128)|));...e0|
|00002940| 34 20 3a 3d 20 7e 28 28 | 28 28 66 69 32 20 2d 20 |4 := ~((|((fi2 - |
|00002950| 36 34 29 20 4d 4f 44 20 | 70 69 32 20 3c 20 31 32 |64) MOD |pi2 < 12|
|00002960| 38 29 20 26 20 28 28 66 | 69 31 20 2d 20 32 32 34 |8) & ((f|i1 - 224|
|00002970| 29 20 4d 4f 44 20 70 69 | 32 20 3c 20 36 34 29 29 |) MOD pi|2 < 64))|
|00002980| 0d 09 09 09 09 4f 52 20 | 28 28 28 66 69 32 20 2d |.....OR |(((fi2 -|
|00002990| 20 31 39 32 29 20 4d 4f | 44 20 70 69 32 20 3c 20 | 192) MO|D pi2 < |
|000029a0| 31 32 38 29 20 26 20 28 | 28 66 69 31 20 2d 20 39 |128) & (|(fi1 - 9|
|000029b0| 36 29 20 4d 4f 44 20 70 | 69 32 20 3c 20 36 34 29 |6) MOD p|i2 < 64)|
|000029c0| 29 29 3b 0d 09 09 65 31 | 35 20 3a 3d 20 7e 28 28 |));...e1|5 := ~((|
|000029d0| 28 28 66 69 32 20 2d 20 | 36 34 29 20 4d 4f 44 20 |((fi2 - |64) MOD |
|000029e0| 70 69 32 20 3c 20 31 32 | 38 29 20 26 20 28 28 66 |pi2 < 12|8) & ((f|
|000029f0| 69 31 20 2d 20 31 36 30 | 29 20 4d 4f 44 20 70 69 |i1 - 160|) MOD pi|
|00002a00| 32 20 3c 20 36 34 29 29 | 0d 09 09 09 09 4f 52 20 |2 < 64))|.....OR |
|00002a10| 28 28 28 66 69 32 20 2d | 20 31 39 32 29 20 4d 4f |(((fi2 -| 192) MO|
|00002a20| 44 20 70 69 32 20 3c 20 | 31 32 38 29 20 26 20 28 |D pi2 < |128) & (|
|00002a30| 28 66 69 31 20 2d 20 33 | 32 29 20 4d 4f 44 20 70 |(fi1 - 3|2) MOD p|
|00002a40| 69 32 20 3c 20 36 34 29 | 29 29 3b 0d 09 09 65 32 |i2 < 64)|));...e2|
|00002a50| 36 20 3a 3d 20 7e 28 28 | 28 28 66 69 32 20 2d 20 |6 := ~((|((fi2 - |
|00002a60| 36 34 29 20 4d 4f 44 20 | 70 69 32 20 3c 20 31 32 |64) MOD |pi2 < 12|
|00002a70| 38 29 20 26 20 28 28 66 | 69 31 20 2d 20 39 36 29 |8) & ((f|i1 - 96)|
|00002a80| 20 4d 4f 44 20 70 69 32 | 20 3c 20 36 34 29 29 0d | MOD pi2| < 64)).|
|00002a90| 09 09 09 09 4f 52 20 28 | 28 28 66 69 32 20 2d 20 |....OR (|((fi2 - |
|00002aa0| 31 39 32 29 20 4d 4f 44 | 20 70 69 32 20 3c 20 31 |192) MOD| pi2 < 1|
|00002ab0| 32 38 29 20 26 20 28 28 | 66 69 31 20 2d 20 32 32 |28) & ((|fi1 - 22|
|00002ac0| 34 29 20 4d 4f 44 20 70 | 69 32 20 3c 20 36 34 29 |4) MOD p|i2 < 64)|
|00002ad0| 29 29 3b 0d 09 09 65 33 | 37 20 3a 3d 20 7e 28 28 |));...e3|7 := ~((|
|00002ae0| 28 28 66 69 32 20 2d 20 | 36 34 29 20 4d 4f 44 20 |((fi2 - |64) MOD |
|00002af0| 70 69 32 20 3c 20 31 32 | 38 29 20 26 20 28 28 66 |pi2 < 12|8) & ((f|
|00002b00| 69 31 20 2d 20 33 32 29 | 20 4d 4f 44 20 70 69 32 |i1 - 32)| MOD pi2|
|00002b10| 20 3c 20 36 34 29 29 0d | 09 09 09 09 4f 52 20 28 | < 64)).|....OR (|
|00002b20| 28 28 66 69 32 20 2d 20 | 31 39 32 29 20 4d 4f 44 |((fi2 - |192) MOD|
|00002b30| 20 70 69 32 20 3c 20 31 | 32 38 29 20 26 20 28 28 | pi2 < 1|28) & ((|
|00002b40| 66 69 31 20 2d 20 31 36 | 30 29 20 4d 4f 44 20 70 |fi1 - 16|0) MOD p|
|00002b50| 69 32 20 3c 20 36 34 29 | 29 29 3b 0d 0d 09 09 44 |i2 < 64)|));....D|
|00002b60| 72 61 77 53 69 64 65 73 | 28 46 41 4c 53 45 29 3b |rawSides|(FALSE);|
|00002b70| 09 28 2a 20 64 72 61 77 | 20 68 69 64 64 65 6e 20 |.(* draw| hidden |
|00002b80| 73 69 64 65 73 20 61 6e | 64 20 65 64 67 65 73 20 |sides an|d edges |
|00002b90| 2a 29 0d 09 09 44 72 61 | 77 53 69 64 65 73 28 54 |*)...Dra|wSides(T|
|00002ba0| 52 55 45 29 3b 09 28 2a | 20 64 72 61 77 20 76 69 |RUE);.(*| draw vi|
|00002bb0| 73 69 62 6c 65 20 73 69 | 64 65 73 20 61 6e 64 20 |sible si|des and |
|00002bc0| 65 64 67 65 73 20 2a 29 | 0d 09 09 09 09 0d 09 45 |edges *)|.......E|
|00002bd0| 4e 44 20 52 65 73 74 6f | 72 65 3b 0d 0d 09 28 2a |ND Resto|re;...(*|
|00002be0| 20 63 6f 6d 6d 61 6e 64 | 73 20 2a 29 0d 0d 09 50 | command|s *)...P|
|00002bf0| 52 4f 43 45 44 55 52 45 | 20 44 65 70 6f 73 69 74 |ROCEDURE| Deposit|
|00002c00| 2a 3b 0d 09 09 56 41 52 | 20 76 3a 20 56 69 65 77 |*;...VAR| v: View|
|00002c10| 3b 0d 09 42 45 47 49 4e | 0d 09 09 4e 45 57 28 76 |;..BEGIN|...NEW(v|
|00002c20| 29 3b 0d 09 09 76 2e 66 | 69 31 20 3a 3d 20 30 3b |);...v.f|i1 := 0;|
|00002c30| 20 76 2e 66 69 32 20 3a | 3d 20 30 3b 0d 09 09 76 | v.fi2 :|= 0;...v|
|00002c40| 2e 63 6f 6c 6f 72 73 20 | 3a 3d 20 70 61 72 61 2e |.colors |:= para.|
|00002c50| 63 6f 6c 6f 72 73 3b 0d | 09 09 56 69 65 77 73 2e |colors;.|..Views.|
|00002c60| 44 65 70 6f 73 69 74 28 | 76 29 0d 09 45 4e 44 20 |Deposit(|v)..END |
|00002c70| 44 65 70 6f 73 69 74 3b | 0d 0d 09 50 52 4f 43 45 |Deposit;|...PROCE|
|00002c80| 44 55 52 45 20 49 6e 69 | 74 44 61 74 61 3b 0d 09 |DURE Ini|tData;..|
|00002c90| 09 56 41 52 20 69 3a 20 | 49 4e 54 45 47 45 52 3b |.VAR i: |INTEGER;|
|00002ca0| 0d 09 42 45 47 49 4e 20 | 28 2a 20 50 69 20 3d 20 |..BEGIN |(* Pi = |
|00002cb0| 31 32 38 20 2a 29 0d 09 | 09 46 4f 52 20 69 20 3a |128 *)..|.FOR i :|
|00002cc0| 3d 20 30 20 54 4f 20 32 | 35 35 20 44 4f 0d 09 09 |= 0 TO 2|55 DO...|
|00002cd0| 09 73 69 6e 75 73 5b 69 | 5d 20 3a 3d 20 53 48 4f |.sinus[i|] := SHO|
|00002ce0| 52 54 28 4d 61 74 68 2e | 46 6c 6f 6f 72 28 30 2e |RT(Math.|Floor(0.|
|00002cf0| 35 20 2b 20 36 34 20 2a | 20 20 4d 61 74 68 2e 53 |5 + 64 *| Math.S|
|00002d00| 69 6e 28 69 20 2a 20 32 | 2a 4d 61 74 68 2e 50 69 |in(i * 2|*Math.Pi|
|00002d10| 28 29 20 2f 20 32 35 36 | 29 29 29 0d 09 09 45 4e |() / 256|)))...EN|
|00002d20| 44 3b 0d 09 09 70 61 72 | 61 2e 63 6f 6c 6f 72 73 |D;...par|a.colors|
|00002d30| 5b 30 5d 20 3a 3d 20 50 | 6f 72 74 73 2e 67 72 65 |[0] := P|orts.gre|
|00002d40| 65 6e 3b 0d 09 09 70 61 | 72 61 2e 63 6f 6c 6f 72 |en;...pa|ra.color|
|00002d50| 73 5b 31 5d 20 3a 3d 20 | 50 6f 72 74 73 2e 62 6c |s[1] := |Ports.bl|
|00002d60| 75 65 3b 0d 09 09 70 61 | 72 61 2e 63 6f 6c 6f 72 |ue;...pa|ra.color|
|00002d70| 73 5b 32 5d 20 3a 3d 20 | 69 6e 76 69 73 69 62 6c |s[2] := |invisibl|
|00002d80| 65 3b 0d 09 09 70 61 72 | 61 2e 63 6f 6c 6f 72 73 |e;...par|a.colors|
|00002d90| 5b 33 5d 20 3a 3d 20 50 | 6f 72 74 73 2e 72 65 64 |[3] := P|orts.red|
|00002da0| 3b 0d 09 09 70 61 72 61 | 2e 63 6f 6c 6f 72 73 5b |;...para|.colors[|
|00002db0| 34 5d 20 3a 3d 20 69 6e | 76 69 73 69 62 6c 65 3b |4] := in|visible;|
|00002dc0| 0d 09 09 70 61 72 61 2e | 63 6f 6c 6f 72 73 5b 35 |...para.|colors[5|
|00002dd0| 5d 20 3a 3d 20 50 6f 72 | 74 73 2e 72 65 64 20 2b |] := Por|ts.red +|
|00002de0| 20 50 6f 72 74 73 2e 67 | 72 65 65 6e 09 28 2a 20 | Ports.g|reen.(* |
|00002df0| 79 65 6c 6c 6f 77 20 2a | 29 0d 09 45 4e 44 20 49 |yellow *|)..END I|
|00002e00| 6e 69 74 44 61 74 61 3b | 0d 0d 42 45 47 49 4e 20 |nitData;|..BEGIN |
|00002e10| 49 6e 69 74 44 61 74 61 | 3b 20 4e 45 57 28 61 63 |InitData|; NEW(ac|
|00002e20| 74 69 6f 6e 29 3b 20 61 | 63 74 69 6f 6e 49 73 41 |tion); a|ctionIsA|
|00002e30| 63 74 69 76 65 20 3a 3d | 20 46 41 4c 53 45 3b 0d |ctive :=| FALSE;.|
|00002e40| 45 4e 44 20 4f 62 78 43 | 75 62 65 73 2e 0d 0d 02 |END ObxC|ubes....|
|00002e50| 20 22 4f 62 78 43 75 62 | 65 73 2e 44 65 70 6f 73 | "ObxCub|es.Depos|
|00002e60| 69 74 3b 20 53 74 64 43 | 6d 64 73 2e 50 61 73 74 |it; StdC|mds.Past|
|00002e70| 65 56 69 65 77 22 0d 02 | 20 22 53 74 64 43 6d 64 |eView"..| "StdCmd|
|00002e80| 73 2e 4f 70 65 6e 54 6f | 6f 6c 44 69 61 6c 6f 67 |s.OpenTo|olDialog|
|00002e90| 28 27 4f 62 78 2f 52 73 | 72 63 2f 43 75 62 65 73 |('Obx/Rs|rc/Cubes|
|00002ea0| 27 2c 20 27 43 75 62 65 | 20 43 6f 6c 6f 72 73 27 |', 'Cube| Colors'|
|00002eb0| 29 22 0d 82 f1 54 65 78 | 74 43 6f 6e 74 72 6f 6c |)"...Tex|tControl|
|00002ec0| 6c 65 72 73 2e 53 74 64 | 43 74 72 6c 44 65 73 63 |lers.Std|CtrlDesc|
|00002ed0| 00 f1 54 65 78 74 43 6f | 6e 74 72 6f 6c 6c 65 72 |..TextCo|ntroller|
|00002ee0| 73 2e 43 6f 6e 74 72 6f | 6c 6c 65 72 44 65 73 63 |s.Contro|llerDesc|
|00002ef0| 00 f1 43 6f 6e 74 61 69 | 6e 65 72 73 2e 43 6f 6e |..Contai|ners.Con|
|00002f00| 74 72 6f 6c 6c 65 72 44 | 65 73 63 00 f1 43 6f 6e |trollerD|esc..Con|
|00002f10| 74 72 6f 6c 6c 65 72 73 | 2e 43 6f 6e 74 72 6f 6c |trollers|.Control|
|00002f20| 6c 65 72 44 65 73 63 00 | f2 04 00 00 00 00 00 00 |lerDesc.|........|
|00002f30| 00 14 00 00 00 00 00 00 | 00 09 00 00 00 00 00 00 |........|........|
|00002f40| 00 00 00 00 00 00 00 00 | 01 82 f1 54 65 78 74 52 |........|...TextR|
|00002f50| 75 6c 65 72 73 2e 53 74 | 64 52 75 6c 65 72 44 65 |ulers.St|dRulerDe|
|00002f60| 73 63 00 f1 54 65 78 74 | 52 75 6c 65 72 73 2e 52 |sc..Text|Rulers.R|
|00002f70| 75 6c 65 72 44 65 73 63 | 00 f2 03 00 00 00 00 00 |ulerDesc|........|
|00002f80| 00 00 ab 00 00 00 07 00 | 00 00 a3 00 00 00 00 00 |........|........|
|00002f90| 00 83 f1 54 65 78 74 52 | 75 6c 65 72 73 2e 53 74 |...TextR|ulers.St|
|00002fa0| 64 53 74 79 6c 65 44 65 | 73 63 00 f1 54 65 78 74 |dStyleDe|sc..Text|
|00002fb0| 52 75 6c 65 72 73 2e 53 | 74 79 6c 65 44 65 73 63 |Rulers.S|tyleDesc|
|00002fc0| 00 f2 07 00 00 00 00 00 | 00 00 00 00 00 00 08 00 |........|........|
|00002fd0| 00 00 5a 00 00 00 00 00 | 00 00 82 f1 54 65 78 74 |..Z.....|....Text|
|00002fe0| 52 75 6c 65 72 73 2e 41 | 74 74 72 69 62 75 74 65 |Rulers.A|ttribute|
|00002ff0| 73 44 65 73 63 00 f2 04 | 00 00 00 00 00 00 00 00 |sDesc...|........|
|00003000| 00 00 00 00 00 00 00 24 | 00 00 00 00 01 00 00 00 |.......$|........|
|00003010| 00 00 00 00 00 20 a3 5a | 00 00 00 00 00 7c be 01 |..... .Z|.....|..|
|00003020| 00 38 63 00 00 01 00 00 | 00 01 00 00 00 00 00 00 |.8c.....|........|
|00003030| 00 82 f2 0d 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003040| 00 00 00 22 00 00 00 00 | 00 00 00 00 01 00 00 00 |..."....|........|
|00003050| 00 48 65 6c 76 65 74 69 | 63 61 00 7c be 01 00 00 |.Helveti|ca.|....|
|00003060| 00 00 00 90 01 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003070| 00 e0 8c 01 00 e0 8c 01 | 00 00 30 5c 00 e0 b9 3b |........|..0\...;|
|00003080| 3e 82 f1 44 6f 63 75 6d | 65 6e 74 73 2e 43 6f 6e |>..Docum|ents.Con|
|00003090| 74 72 6f 6c 6c 65 72 44 | 65 73 63 00 f2 12 00 00 |trollerD|esc.....|
|000030a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 08 00 00 |........|........|
|000030b0| 00 00 00 00 00 00 09 00 | 00 00 00 20 ae 9f 00 90 |........|... ....|
|000030c0| 3f 7b 00 80 fc 0a 00 80 | fc 0a 00 a0 b1 94 00 10 |?{......|........|
|000030d0| 43 70 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |Cp......|........|
|000030e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000030f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003100| 00 00 01 00 00 00 01 0c | 00 00 00 0c 00 00 00 32 |........|.......2|
|00003110| 00 00 3b f1 00 00 00 00 | 00 00 00 00 00 00 00 00 |..;.....|........|
|00003120| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003130| 05 43 75 62 65 73 02 00 | 00 00 50 61 72 74 53 49 |.Cubes..|..PartSI|
|00003140| 54 21 00 00 00 00 00 00 | 00 00 00 00 48 8b 00 00 |T!......|....H...|
|00003150| 00 00 50 61 72 74 53 49 | 54 21 00 00 00 00 00 00 |..PartSI|T!......|
|00003160| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003170| 00 00 ae 04 81 ad 00 00 | 00 00 00 00 01 3e 00 00 |........|.....>..|
|00003180| 00 00 00 00 00 00 00 00 | 00 00 04 ed 25 00 00 00 |........|....%...|
|00003190| 3b f2 0a 42 75 67 20 4c | 69 73 74 20 43 00 00 00 |;..Bug L|ist C...|
|000031a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000031b0| 00 00 00 00 05 1d 25 00 | 00 00 3b f4 12 43 6f 6d |......%.|..;..Com|
|000031c0| 6d 20 50 61 70 65 72 20 | 28 45 43 4f 4f 50 29 00 |m Paper |(ECOOP).|
|000031d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 05 0f |........|........|
|000031e0| 25 00 00 00 3b f4 0a 4f | 62 65 72 6f 6e 4d 6f 6f |%...;..O|beronMoo|
|000031f0| 6e 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |n.......|........|
|00003200| 00 00 00 08 00 3c 00 05 | 01 db 02 7b 00 00 01 00 |.....<..|...{....|
|00003210| 00 00 01 0c 00 00 00 0c | 00 00 00 32 00 7a 8b 08 |........|...2.z..|
|00003220| 18 9c 00 00 00 1c 00 32 | 00 00 57 4e 53 50 00 00 |.......2|..WNSP..|
|00003230| 00 0a 00 01 ff ff 00 00 | 00 00 00 7a 90 20 00 00 |........|...z. ..|
|00003240| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003250| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003260| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003270| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+